MathGroup Archive 1998

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

Search the Archive

Re: Numerical Determinants


hello at there.com (Rod Pinna) wrote in [mg12922]:

*************************
I have a large square matrix, of 30x30 elements (and possibly  larger).
Each element is of the form

        Ai,j + Bi,j P

Where Ai,j and Bi,j are real numbers. Evaluation of this matrix  in
symbolic form is very slow. Obviously, numeric evaluation is  much
faster. What I want to do is evaluate, with M the matrix  above:

NSolve[Det[M]==0,P]

Nsolve seems to, as far as I can tell, first evaluate a symbolic
expansion of M, rather than numerically substituting numbers. Is  there
a way to get Mathematica to evaluate this in a purely numeric way?

I've tried Findroot, but the fuction is badly behaved around the  roots
of interest, and it doesn't find the roots I'm looking for. Any
suggestions?
**************************

Yes, I have a suggestion.  Consider the eigen-problem -a.x = p b.x.
Non-trivial eigenvectors exit provided Det[a + b p] = 0, which is your
situation.  Assuming Inverse[b] exists, the eigen values of m.x = p x
where m = -Inverse[b].a

Eigenvalues[-Inverse[b].a]

will coincide with your p's.

I tested cases in which a and b are each random 10x10 matrices. The
results were the same, and timings for the two approaches were

Det = 9.0 sec
eigen = 0.0 sec

I hope this helps.


Hugh Walker
Professsor Emeritus
University of Houston

Gnarly Oaks



  • Prev by Date: Re: eps mathematica fonts/latex
  • Next by Date: Re: questions about Notebooks
  • Previous by thread: Re: Numerical Determinants
  • Next by thread: Re: Numerical Determinants