Post Reply 
SVD Only With Matrix of Full Rank?
04-04-2015, 04:48 PM (This post was last modified: 04-04-2015 04:55 PM by parisse.)
Post: #7
RE: SVD Only With Matrix of Full Rank?
For
Code:
m1:=[ [8 ,2 ,2 ,-6], [5, 0, 3, -4], [-2 ,-3 ,3 ,1], [2 ,3 ,-3, -1], [4, 6 ,-6 ,-2] ];u,s,q:=svd(evalf(m1),-1);m:=u*[op(diag(s)*trn(q)),[0$4]];
I get currently
Code:
s=[9.58068546525e-08,1.74628850627e-07,9.82257667369,14.1250482296]
m= [[8.0,2.0,2.0,-6.0],[5.0,-1.15463194561e-14,3.0,-4.0],[-1.99999994329,-2.99999993961,3.00000005965,1.00000011563],[1.99999995381,3.00000005855,-2.9999999624,-1.00000002953],[4.00000005145,6.00000000092,-5.99999998897,-1.99999992742]]
In other words you have at least 7 correct digits for a matrix of rank 2 (0 is singular value of multiplicity 2), of course it's more accurate for non degenerate matrices. I believe it is sufficient on a calculator for such kind of computations. I may be wrong, but if you want to convince me you need to provide better argumentation than generalities, because implementing a better conditionned algorithm is not trivial and is far away from my field of expertise, i.e. CAS.
Find all posts by this user
Quote this message in a reply
Post Reply 


Messages In This Thread
RE: SVD Only With Matrix of Full Rank? - parisse - 04-04-2015 04:48 PM



User(s) browsing this thread: 2 Guest(s)