From: Charles R H. <cha...@gm...> - 2006-11-08 14:49:52
|
On 11/8/06, Keith Goodman <kwg...@gm...> wrote: > > On 11/8/06, izak marais <iza...@ya...> wrote: > > > Sorry if this is an obvious question, but what is the easiest way to > > multiply matrices in numpy? Suppose I want to do A=B*C*D. The ' * ' > operator > > apparently does element wise multiplication, as does the 'multiply' > ufunc. > > All I could find was the numeric function 'matrix_multiply, but this > only > > takes two arguments. Same with the operator *, it takes two arguments but is in infix order, i.e., left side and right side. If B and C and D are matrices, then '*' is matrix multiplication. And if they are arrays: A = dot(B,dot(C,D)) Python has a dearth of recognized operators which makes this necessary once '*' is used for elementwise multiplication, it's a long standing complaint. You can use matrices in numpy, in which case '*' is used for matrix multiplication like in matlab, but I think it would be better to get used to using arrays as they are the numpy core. Chuck |