Intel® oneAPI Math Kernel Library
Ask questions and share information with other developers who use Intel® Math Kernel Library.
Announcements
FPGA community forums and blogs have moved to the Altera Community. Existing Intel Community members can sign in with their current credentials.

Generalized Eigenvalue Problem

JBervel
Beginner
1,285 Views

Hi,

I have the generalized eigenvalue equation: Az = LBz.

The matrix A is symmetric positive-definite but the matrix B is symmetric semipositive-definite.

There is some way to convert the generalized equation to the standard problem Cy = Ly when the B matrix is semipositive-definite instead of positive-definite?

Thanks.

0 Kudos
4 Replies
Victor_K_Intel1
Employee
1,285 Views

Dear JBervel,

Assuming A is symmetric positive definite you conclude it is non singular. That said, lambda=0 is not an eigenvalue of you problem. So, you can divide both sides of the equation by lambda and make change of denotations mu=1/lambda. The problem now looks like Bz=mu*Az.
If you wnat to com to the standard form, you can, for example factorize A=L*L^t (Cholesky).
Multiply the equation by L^{-1} from both sides and get the following
L^{-1}*B*L^{-t}*L^{t}*z=mu*L^t*z
Denoting C= L^{-1}*B*L^{-t} and y=L^t*z you come to the desired form
Cy=mu*y.

Is it what you were looking for?

Best regards,
Victor

0 Kudos
JBervel
Beginner
1,285 Views

Dear Victor,

thanks for your response.

doing the equivalence mu = 1 / lambda, it is possible to rewrite the equation like:

B*z = mu*A*z

in order to have the definite positive matrix in the correct side of the equation.

At this point, is it as simple as use the mkl function LAPACKE_dspgvx to solve the system and then make
1 / mu to obtain the lambda eigenvalues?

Thanks,

0 Kudos
Victor_K_Intel1
Employee
1,285 Views

Yes, this should work.
But there might be issues if A is ill-conditioned.

WBR
Victor

0 Kudos
JBervel
Beginner
1,285 Views
Yes, it worked.

Thanks very much.

0 Kudos
Reply