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:
linear generalized real symmetric eigenvalue problem

Subject: linear generalized real symmetric eigenvalue problem

From: rain

Date: 30 Jan, 2009 08:29:38

Message: 1 of 7

hi.
i am solving a physics problem, and i need to solve eigenvalue
eguation: A.X=Lamda.B.X. A and B are symmetric, and B is not positive
definite.
all of the elements of B are nonnegative.
the matrices are at most 100 by 100.
could anyone help me white this problem? i need to know fortran
subroutines that can solve this problem accurately.
in advance i appriciate your help.

Subject: linear generalized real symmetric eigenvalue problem

From: Torsten Hennig

Date: 30 Jan, 2009 08:45:54

Message: 2 of 7

> hi.
> i am solving a physics problem, and i need to solve
> eigenvalue
> eguation: A.X=Lamda.B.X. A and B are symmetric, and B
> is not positive
> definite.
> all of the elements of B are nonnegative.
> the matrices are at most 100 by 100.
> could anyone help me white this problem? i need to
> know fortran
> subroutines that can solve this problem accurately.
> in advance i appriciate your help.

Try
http://www.caam.rice.edu/software/ARPACK/

Best wishes
Torsten.

Subject: linear generalized real symmetric eigenvalue problem

From: rain

Date: 31 Jan, 2009 07:46:30

Message: 3 of 7

i am going to try that.
thank you very much.

Subject: linear generalized real symmetric eigenvalue problem

From: Roger Stafford

Date: 31 Jan, 2009 14:03:02

Message: 4 of 7

rain <taherehnikbakht@gmail.com> wrote in message <0b7c7704-f8c4-492d-9e10-2e5bdb08accc@m22g2000vbp.googlegroups.com>...
> hi.
> i am solving a physics problem, and i need to solve eigenvalue
> eguation: A.X=Lamda.B.X. A and B are symmetric, and B is not positive
> definite.
> all of the elements of B are nonnegative.
> the matrices are at most 100 by 100.
> could anyone help me white this problem? i need to know fortran
> subroutines that can solve this problem accurately.
> in advance i appriciate your help.

  The matlab function 'eig' can handle that problem.

[V,D] = eig(A,B);

Roger Stafford

Subject: linear generalized real symmetric eigenvalue problem

From: Thom de Jong

Date: 18 Apr, 2012 11:47:08

Message: 5 of 7

Hi Roger,

I am currently facing the same situation as Rain above. You are right about the 'eig' function, but with this function Matlab solves his own version of the generalized eigenvalue problem:
[X,Lambda] = eig(A,B) solves
A*X = B*X*Lambda,
but not the "real" GEP in which me and Rain were interested:
A*X = Lambda*B*X,
which are not the same, as they are all matrices.
I tried to work around this with some algebra, without success.
Strangely, using
[AA,BB,Q,Z,X_L,X_R] = qz(A,B),
gives the eigenvalue matrix
Lambda = diag(diag(AA)/(diag(BB)),
and the equalities
A*X_R = B*X_R*Lambda
transpose(X_L)*A = Lambda*transpose(X_L)*B.
Again, simple algebra doesn't let me transform this into the "real" GEP.
In my case, A and B are symmetric as well.

Am I overlooking some option or algebra trick?

Thanks in advance,

Thom

"Roger Stafford" wrote in message <gm1lmm$fbr$1@fred.mathworks.com>...
> rain <taherehnikbakht@gmail.com> wrote in message <0b7c7704-f8c4-492d-9e10-2e5bdb08accc@m22g2000vbp.googlegroups.com>...
> > hi.
> > i am solving a physics problem, and i need to solve eigenvalue
> > eguation: A.X=Lamda.B.X. A and B are symmetric, and B is not positive
> > definite.
> > all of the elements of B are nonnegative.
> > the matrices are at most 100 by 100.
> > could anyone help me white this problem? i need to know fortran
> > subroutines that can solve this problem accurately.
> > in advance i appriciate your help.
>
> The matlab function 'eig' can handle that problem.
>
> [V,D] = eig(A,B);
>
> Roger Stafford

Subject: linear generalized real symmetric eigenvalue problem

From: Bruno Luong

Date: 18 Apr, 2012 13:12:13

Message: 6 of 7

"Thom de Jong" <bluecarme@hotmail.com> wrote in message
> but not the "real" GEP in which me and Rain were interested:
> A*X = Lambda*B*X,

Are you sure about the claim this it tghe real "GEP"?

It looks to me more like a non-sense equation, since if I multiply by inv(X) on the right, it leads to

A = Lambda*B

Which mean A-rows and B-rows are colinears, which is impossible in general.

Bruno

Subject: linear generalized real symmetric eigenvalue problem

From: Thom de Jong

Date: 18 Apr, 2012 14:50:09

Message: 7 of 7

Interesting, it is a non-sense equation;
After going through the mathematics of the paper that made me come to this problem, there was indeed an index error. The equation to solve turns out to be the one implemented in Matlab.

Many thanks,

Thom


"Bruno Luong" <b.luong@fogale.findmycountry> wrote in message <jmmejd$n9l$1@newscl01ah.mathworks.com>...
> "Thom de Jong" <bluecarme@hotmail.com> wrote in message
> > but not the "real" GEP in which me and Rain were interested:
> > A*X = Lambda*B*X,
>
> Are you sure about the claim this it tghe real "GEP"?
>
> It looks to me more like a non-sense equation, since if I multiply by inv(X) on the right, it leads to
>
> A = Lambda*B
>
> Which mean A-rows and B-rows are colinears, which is impossible in general.
>
> Bruno

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