Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Thread Subject:
eigenvector with the minimum eigenvalue, how to find a stable

Subject: eigenvector with the minimum eigenvalue, how to find a stable

From: goodjeff

Date: 7 Feb, 2010 16:32:20

Message: 1 of 7

Dear all,

   Given a real symmetric matrix A, the eigenvector, V_min, for the
minimum eigenvalue, Lambda_min, need to be calculated.

   Surely there are various numerical algorithms to calculate it, but
my impression is that if the minimum eigenvalue is very close to 0,
the solution is not numerically stable (the resulting V_min might be
very different from the ideal one).

   I am thinking if there is a way to rearrange the matrix A to be B,
who has the same eigenvectors but A's V_min now becoming V_max,
corresponding to its biggest eigenvalue, whose numerical solution is
more reliable.

Thanks
Jeff

Subject: eigenvector with the minimum eigenvalue, how to find a stable

From: John D'Errico

Date: 7 Feb, 2010 16:47:02

Message: 2 of 7

goodjeff <jiang1feng@gmail.com> wrote in message <3f37cb36-e017-4df2-9a61-5ae9664ec2c1@36g2000yqu.googlegroups.com>...
> Dear all,
>
> Given a real symmetric matrix A, the eigenvector, V_min, for the
> minimum eigenvalue, Lambda_min, need to be calculated.
>
> Surely there are various numerical algorithms to calculate it, but
> my impression is that if the minimum eigenvalue is very close to 0,
> the solution is not numerically stable (the resulting V_min might be
> very different from the ideal one).

No. This is simply not true. IF there are multiple
eigenvalues all with essentially the same value, then
the eigenvector will be unstable. But nearness to
zero is not by itself a cause of instability.

John

Subject: eigenvector with the minimum eigenvalue, how to find a stable

From: Greg Heath

Date: 7 Feb, 2010 18:04:27

Message: 3 of 7

On Feb 7, 11:32 am, goodjeff <jiang1f...@gmail.com> wrote:
> Dear all,
>
>    Given a real symmetric matrix A, the eigenvector, V_min, for the
> minimum eigenvalue, Lambda_min, need to be calculated.
>
>    Surely there are various numerical algorithms to calculate it, but
> my impression is that if the minimum eigenvalue is very close to 0,
> the solution is not numerically stable (the resulting V_min might be
> very different from the ideal one).
>
>    I am thinking if there is a way to rearrange the matrix A to be B,
> who has the same eigenvectors but A's V_min now becoming V_max,
> corresponding to its biggest eigenvalue, whose numerical solution is
> more reliable.

Since B = inv(A), I don't think that approach will work.

Best bet is finding a stable iterative algorithm for

lambda = min(x'*A*x/(x'*x))

Hope this helps.

Greg

Subject: eigenvector with the minimum eigenvalue, how to find a stable

From: Ray Koopman

Date: 7 Feb, 2010 19:00:56

Message: 4 of 7

On Feb 7, 8:32 am, goodjeff <jiang1f...@gmail.com> wrote:
> Dear all,
>
> Given a real symmetric matrix A, the eigenvector, V_min, for the
> minimum eigenvalue, Lambda_min, need to be calculated.
>
> Surely there are various numerical algorithms to calculate it, but
> my impression is that if the minimum eigenvalue is very close to 0,
> the solution is not numerically stable (the resulting V_min might be
> very different from the ideal one).
>
> I am thinking if there is a way to rearrange the matrix A to be B,
> who has the same eigenvectors but A's V_min now becoming V_max,
> corresponding to its biggest eigenvalue, whose numerical solution is
> more reliable.
>
> Thanks
> Jeff

Look up "inverse iteration".

Subject: eigenvector with the minimum eigenvalue, how to find a stable

From: Matt J

Date: 7 Feb, 2010 19:51:02

Message: 5 of 7

goodjeff <jiang1feng@gmail.com> wrote in message <3f37cb36-e017-4df2-9a61-5ae9664ec2c1@36g2000yqu.googlegroups.com>...
> Dear all,
>
> Given a real symmetric matrix A, the eigenvector, V_min, for the
> minimum eigenvalue, Lambda_min, need to be calculated.
>
> Surely there are various numerical algorithms to calculate it, but
> my impression is that if the minimum eigenvalue is very close to 0,
> the solution is not numerically stable (the resulting V_min might be
> very different from the ideal one).
================

Does it matter? It might, depending on your application, but if the computed vector V need only satisfy, to a good approximation,

A*V=Lambda_min*V

then the numerical instability wouldn't be task-relevant. All solutions, even if wildly different from V_min would satisfy the above, thereby forming an equivalence class.

 

Subject: eigenvector with the minimum eigenvalue, how to find a stable solution

From: spellucci@fb04633.mathematik.tu-darmstadt.de (Peter Spellucci)

Date: 8 Feb, 2010 11:50:02

Message: 6 of 7


In article <3f37cb36-e017-4df2-9a61-5ae9664ec2c1@36g2000yqu.googlegroups.com>,
 goodjeff <jiang1feng@gmail.com> writes:
>Dear all,
>
> Given a real symmetric matrix A, the eigenvector, V_min, for the
>minimum eigenvalue, Lambda_min, need to be calculated.
>
> Surely there are various numerical algorithms to calculate it, but
>my impression is that if the minimum eigenvalue is very close to 0,
>the solution is not numerically stable (the resulting V_min might be
>very different from the ideal one).
>
> I am thinking if there is a way to rearrange the matrix A to be B,
>who has the same eigenvectors but A's V_min now becoming V_max,
>corresponding to its biggest eigenvalue, whose numerical solution is
>more reliable.
>
>Thanks
>Jeff

no, you should not "rearrange" the matrix, this indeed could be deadly.
and it depends: the smallest eigenvalue: you mean the
smallest in absolute value? your posting suggests that.
The matrix: is it positive semidefinite such taht you assume
this eigenvalue is nonnegative?
If this is the case, then do "inverse iteration" with shift zero:
This goes as follows:
 x(0) is the initial vector. if you know something about its structure
 then choose it accordingly (for example in a vibration problem, if the basic
 mode is required, a vector with all components positive and the "middle"
 ones larger than those corresponding to the boundaries of the structure
 would be a choice)
 x(0) becomes normalized to length one.
 then you iterate:
 for k=0,1,2,...until sufficient precision in rho(k) and x(k) is obtained

  solve Ay(k+1) = x(k) ; (**)
  compute
        rho(k) = y(k+1)^Tx(k); /* this is the Rayleighquotient and the
                                    optimal guess for the eigenvalue */
        x(k+1) = y(k+1)/norm(y(k+1),2) ;
  In order to solve the linear system (**) , you use a stable decomposition
  of A: since A is symmetric in case of the positive semidefiniteness
  Cholesky with diagonal pivoting
  P^T A P = L L^T
  (if the smallest eigenvalue is simple, then in the extreme case the last diagonal element
  of L will be in the order of the machine precision times matrix norm)
  otherwise if the dimension is not too large the QR decomposition.
  The speed of convergence is the determined by the quotient
   lambda_min/lambda_next_min.



  If the smallest eigenvalue can have multiplicity >1, then you need to
  perform "simultaneous inverse iteration" (essentially the same thing, but
  with a matrix x(k) of columns at least as large as the multiplicity,
  better larger. (this then needs reorthogonalization of x(k) in each step and
  concerning the rayleighquotient: this must be replaced by a matricial one ..
  for the first, lets postpone this).


hth
peter

Subject: eigenvector with the minimum eigenvalue, how to find a stable solution

From: Alois Steindl

Date: 8 Feb, 2010 12:40:45

Message: 7 of 7

Hello,
why does the eigenvalue in your case become small?
There could be several reasons, which might possibly be avoided:
Bad scaling: If the quantities in the system have different orders of
magnitude, the matrix could become ill conditioned. (Rescaling shouldn't
change the eigenvalues, but it might help to improve the computation of
the eigenvectors.)
If these small eigenvalues occur for some special parameter values, you
could view the problem as bifurcation problem and directly calculate the
critical parameter values, where you have an exact zero eigenvalue.
Also approximate symmetries could cause small eigenvalues.

However, for the difficulties in finding the proper eigenvectors the
size of the eigenvalues is usually not so critical as if you have
closely spaced eigenvalues.

Alois
 

Tags for this Thread

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

Contact us