Azzera filtri
Azzera filtri

generalized eignvalues/eignvectors

2 visualizzazioni (ultimi 30 giorni)
MA
MA il 4 Set 2020
Commentato: MA il 5 Set 2020
I want to solve the following generalized eignvalues/eignvector problem:
A*w=D*B*w
Where A is my first square matrix and B my second one, D is the eignvalues and w contains the eignvectors.
I tried to look at https://www.mathworks.com/help/matlab/ref/eig.html#d120e309738 but I did not get the same form I want.
is it just enough to state my problem as the following:
[w,D]=eig(A,B)
or there is another solution. Any suggestion? Thanks very much
  3 Commenti
David Goodmanson
David Goodmanson il 5 Set 2020
Hello MA,
For the w matrix, one finds column eigenvectors, each with its own eigenvalue, and concatenates them to produce w. Is it the case that for each eigenevector u and its associated eigenvalue lambda, you are solving the equation
A*u = lamda*B*u?
Because if so, the correct resulting equation is
A*w = B*w*D
where D is the diagonal matrix of eigenvalues, and it multiplies on the right. You obtain the generalized eigenvalue form that is solved by Matlab.
Bruno Luong
Bruno Luong il 5 Set 2020
Modificato: Bruno Luong il 5 Set 2020
The left eigen vectors
w'A= lamdda*w'*B % marix equation: W'*A = D*W'*B
can also be returned by MATLAB with 3-output syntax of EIG
[~,D,W] = eig(A,B)
w is columns of W, lambda diagonal elements of D.
Note that both left/right can be also obtained by Schur's decomposition with MATLAB QZ, but this is another topic.

Accedi per commentare.

Risposte (1)

Asad (Mehrzad) Khoddam
Asad (Mehrzad) Khoddam il 4 Set 2020
If you multiply both sides by inv(D) we will have:
B*w = inv(D) * A * B
So you can use:
[w, invD] = eig(B, A);
D = inv(InvD);
  3 Commenti
Asad (Mehrzad) Khoddam
Asad (Mehrzad) Khoddam il 5 Set 2020
Yes, you are right
MA
MA il 5 Set 2020
Thanks for your answers.

Accedi per commentare.

Categorie

Scopri di più su Mathematics in Help Center e File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by