Re: SingularValueDecomposition V6
- To: mathgroup at smc.vnet.net
- Subject: [mg100252] Re: SingularValueDecomposition V6
- From: Vladimir Marjanović <math.maniac.hr at gmail.com>
- Date: Fri, 29 May 2009 20:58:32 -0400 (EDT)
- References: <gvlhp1$djl$1@smc.vnet.net>
On Thu, 28 May 2009 08:25:05 +0000 (UTC), borisov at sas.upenn.edu wrote: > Hello, > > In short: Is there a way to change the method in SingularValueDecomposition? > Explanation: > I have coded a relaxation scheme for solving a system of non-linear ODEs. The > relaxation scheme involves solving a linear system of algebraic equations in > the form S.b=-e. The matrix S is in my case 2000x2000. I use Krylov's method to > solve it. At certain conditions the system becomes unstable/singular. So I am > interested in finding the SVD for that Matrix. Unfortunately though the default > method is extermely slow. I couldn't find in the help which method for finding > the SVD is used, but by how slow it is I would assume it is the RQ method > (which goes like n^4). But I was told that method's like "divide and conquer" > go like n^3*Ln(n) and will be significantly faster (and I have been told there > are even faster methods). Is there a way to change the method in > SingularValueDecomposition? > > In the end I could possibly use another method for resolving singularities > (S-mI).b=-e, but to evaluate m I still need to know what the maximum singular > value is. Will SingularValueList be sufficiently fast? Is there a way to change > the method there? > > Best Regards > Alexander Here http://reference.wolfram.com/mathematica/note/SomeNotesOnInternalImplementation.html#30506 you can find some explanations: "SingularValueDecomposition uses the QR algorithm with Givens rotations. PseudoInverse, NullSpace and MatrixRank are based on SingularValueDecomposition. For sparse arrays, Arnoldi methods are used." -- == Matemati=E8ko podzemlje == http://www.matematicko-podzemlje.com/ http://matka.forumotion.com/ http://www.travian.com.hr/?uc=hr3_5588