- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
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
Link Copied
2 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
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.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page