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
Last post
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.

Leave a Comment

Please sign in to add a comment. Not a member? Join today