MathGroup Archive 2009

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: SingularValueDecomposition V6

On Thu, 28 May 2009 08:25:05 +0000 (UTC), borisov at 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

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 ==

  • Prev by Date: problem writing debugging utility function
  • Next by Date: Re: Parallel processing
  • Previous by thread: SingularValueDecomposition V6
  • Next by thread: Mathematica for Behavioral Research?