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
1.1.0.

>>> R = n.array([[3.6,.35],[.35,1.8]])
>>> V,D,W = n.linalg.svd(R)
>>> V*n.diag(D)*W.transpose()
array([[ 3.5410365 ,  0.        ],
       [ 0.        ,  1.67537611]])
>>> R = n.matrix([[3.6,.35],[.35,1.8]])
>>> V,D,W = n.linalg.svd(R)
>>> V*n.diag(D)*W.transpose()
matrix([[ 3.6 ,  0.35],
        [ 0.35,  1.8 ]])

Thanks in advance,
Frank
-- 
Frank Lagor
Ph.D. Candidate
Mechanical Engineering and Applied Mechanics
University of Pennsylvania
_______________________________________________
Numpy-discussion mailing list
Numpy-discussion@scipy.org
http://projects.scipy.org/mailman/listinfo/numpy-discussion

Reply via email to