# Generalized eigenvalue problem

## Generalized eigenvalue problem

Hi

Is there any example code available that shows the solution of the generalized eigenvalue problem using functions from the library. Please let me know. Thanks,

Shrini

3 posts / 0 new
For more complete information about compiler optimizations, see our Optimization Notice.

I am using the following sequence of function calls to solve the problem K x = lambda Mx. K and M are stored in banded format.
I want only selected eigenvalues and eigenvectors.

(1)dpbstf (to compute the split Cholesky factorization)

(2) dsbgst ( to reduce to standard form C y = lambda y)

(3) dsbtrd (to reduce C to tridiagonal form T)

(4) dstebz ( compute selected eigen values of T)

(5) dstein ( compute selected eigen vectors)

(6) Don't find a routine to transform eigenvectors of T to that of C. 'dormtr' requires Q to be computed by 'dsytrd'

Am I missing something ? Any help would be greatly appreciated. Thanks.

Ithink that it's better to use DSBEVX for computing selected eigenvalues and eigenvectors of real band matrix C intead of steps 3-5. It should help you, if matrix C in your notations is a band matrix.

If you don't want to use this routine, you should use the folowingoperators

DO J = 1, M

CALL DCOPY( N, Z( 1, J ), 1, WORK( 1 ), 1 )

CALL DGEMV( 'N', N, N, ONE, Q, LDQ, WORK, 1, ZERO,

\$ Z( 1, J ), 1 )

ENDDO

after the call to DSTEIN where M is thetotal number found,array Zis returned by DSTEIN (the 8th parameter for DSTEIN) and the first M columns of Z arethe eigenvector of T, array Q is returned by DSBTRD (the 9th parameter)and it containsthe orthonormal matrix Q such that Q**T * S* Q = T.

I hope it helps.