Matrix equation - numeric solving

  • Thread starter Thread starter Anthus
  • Start date Start date
  • Tags Tags
    Matrix Numeric
Anthus
Messages
14
Reaction score
0
Hello,
my problem is to numerically count "lambda" from that kind of equation:
(\lambda ^2 \check{A} + \lambda \check{B} + \check{C}) \vec{v}=0<br />
which means that:
det(\lambda ^2 \check{A} + \lambda \check{B} + \check{C})=0<br />
where A, B and C are n x n matrices, v is unknown vector and "lambda" is unknown.

It is easy to solve it in Matlab using symbolic calculations of determinant to get polynomial, but I write my own program so I can't use it. I have i.e. GSL library. This equation without first or second term is generalized eigensystem, but perhaps not real.
Does anybody know what use to solve that?
 
Physics news on Phys.org
You can turn this into a "first order" eigenproblem with the matrices twice the size

\lambda\begin{pmatrix}A &amp; 0 \cr 0 &amp; I \end{pmatrix} <br /> \begin{pmatrix}\lambda v \cr v \end{pmatrix} <br /> + \begin{pmatrix}B &amp; C \cr -I &amp; 0\end{pmatrix}<br /> \begin{pmatrix}\lambda v \cr v \end{pmatrix} = 0

This works nicely when A is symmetric and/or positive definite.

If matrix C has "nicer" properties than A, you can make a similar eigenproblem with eigenvalues 1/\lambda

Note, the \lambda in the eigenvector is not an issue. So far as the numerical solution of the eigenproblem is concerned, the eigenvector is just an arbitrary vector with 2n elements, and the fact that the top half of the vector happens to be a scalar multiple of the bottom half is just a conincidence.
 
Thank you, I'll think about it :)
 

Similar threads

Back
Top