The Python Book Latest All — By Topic 2019  2016  2015  2014 matrix outer_product numpy 20150727 The dot product of two matrices (Eg. a matrix and it's tranpose), equals the sum of the outer products of the row-vectors & column-vectors. ``````a=np.matrix( "1 2; 3 4; 5 6" ) matrix([[1, 2], [3, 4], [5, 6]])`````` Dot product of A and A^T : ``````np.dot( a, a.T) matrix([[ 5, 11, 17], [11, 25, 39], [17, 39, 61]])`````` Or as the sum of the outer products of the vectors: ``````np.outer(a[:,0],a.T[0,:]) array([[ 1, 3, 5], [ 3, 9, 15], [ 5, 15, 25]]) np.outer(a[:,1],a.T[1,:]) array([[ 4, 8, 12], [ 8, 16, 24], [12, 24, 36]])`````` .. added up.. ``````np.outer(a[:,0],a.T[0,:]) + np.outer(a[:,1],a.T[1,:]) array([[ 5, 11, 17], [11, 25, 39], [17, 39, 61]])`````` .. and yes it is the same as the dot product! Note: for above, because we are forming the dot product of a matrix with its transpose, we can also write it as (not using the transpose) : ``np.outer(a[:,0],a[:,0]) + np.outer(a[:,1],a[:,1])``
Notes by Willem Moors. Generated on momo:/home/willem/sync/20151223_datamungingninja/pythonbook at 2019-07-31 19:22