As per the linear algebra rules we should not be bale to add a row and column vector . But i am able to do this operation in NumPy. Furthermore i am unable to understand the output.
v = np.array([1,2,3])
row_vector = v.reshape(1,3)
column_vector = v.reshape(3,1)
row_vector + column_vector
array([[2, 3, 4], [3, 4, 5], [4, 5, 6]])
Also i have a doubt that are row and column vectors , vectors or matrices. Because the row and column vectors have 2 dimesnions : (1,m) or (m,1) respectively.
Also using the attribute ‘row_vector.ndim’ gives output 2.
Any help will be appreciated.
thank you for reaching out!
The operation + sums the two vectors by adding corresponding elements.
For the example you’ve shown:
Adding a 3×1 row_vector and 1×3 column_vector, results in a 3*3 matrix, where each element (i, j) equals:
row_vector(j) + column_vector(i).
So, for the first row in your example we’d have [ row_vector_1 + column_vector_1, row_vector_2 + column_vector_1, row_vector_3 + column_vector_1] = [1+1, 2+1, 3+1]
Generally on the topic of vector sums using +:
To be able to use + the two elements need to be compatible. Two inputs have compatible sizes if, for every dimension, the dimension sizes of the inputs are either the same or one of them is 1.
Hope this sheds some light on the topic!
Thanks for the help. I read online and found that this is broadcasting. It would really helpful if you introduced this concept in your already excellent mathematics course.