On Fri, Jul 25, 2008 at 9:39 PM, Keith Goodman <[EMAIL PROTECTED]> wrote:
> On Fri, Jul 25, 2008 at 12:36 PM, Keith Goodman <[EMAIL PROTECTED]> > wrote: > > On Fri, Jul 25, 2008 at 12:32 PM, Frank Lagor <[EMAIL PROTECTED]> > wrote: > >> Perhaps I do not understand something properly, if so could someone > please > >> explain the behavior I notice with numpy.linalg.svd when acting on > arrays. > >> It gives the incorrect answer, but works fine with matrices. My numpy > is > > > '*' does element-by-element multiplication for arrays but matrix > > multiplication for mat > >> n.dot(V, n.dot(n.diag(D), W.transpose())) # That's hard to read! Just two small points: 1.) Broadcasting may be easier on the eye ... well, atleast when you have gotten used to it Then the above is np.dot(V*D, W) 2.) Also, note that the right hand side eigenvectors in numpy's svd routine is ordered by rows! Yes, I know this is confusing as it is different from just about any other linear algebra software out there, but the documentation is clear. It is also a little inconsistent with eig and eigh, some more experienced user can probably answer on why it is like that? Arnar > <http://projects.scipy.org/mailman/listinfo/numpy-discussion> >
_______________________________________________ Numpy-discussion mailing list [email protected] http://projects.scipy.org/mailman/listinfo/numpy-discussion
