- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Dear all,
To solve a generalized eigenvalue problem of the kind
AX = lambda BX
, say I use dpotrf -> dsygst -> dsyevd path, then the eigenvectors should be transformed back, right?
Because this is the definition when it is converted to a standart problem. And the vectors are not directly the vectors of the original generalized problem. However, I have difficulty in locating the transformation routine. Could you help me with this?
Best,
Umut
To solve a generalized eigenvalue problem of the kind
AX = lambda BX
, say I use dpotrf -> dsygst -> dsyevd path, then the eigenvectors should be transformed back, right?
Because this is the definition when it is converted to a standart problem. And the vectors are not directly the vectors of the original generalized problem. However, I have difficulty in locating the transformation routine. Could you help me with this?
Best,
Umut
Link Copied
1 Reply
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The transformations that are to be applied to the eigenvectors are listed in the NAG documentation for F08SEF (DSYGST). In particular, see the table in section 3 of the document.
If you want to recover the original eigenvectors, you may need to declare extra arrays for saving copies of the transformation matrices and write extra statements to copy arrays to be saved, since Lapack routines often overwrite input matrices with result matrices.
I have not performed these manipulations myself, and the example included with MKL (dsygstx.f) does not compute eigenvectors. Therefore, I cannot tell you in detail what to do. What one needs to do is to sit down with pencil and paper, read the documentation, and make notes as to how to manage and carry out the work. The coding is then usually quite straightforward.
If you want to recover the original eigenvectors, you may need to declare extra arrays for saving copies of the transformation matrices and write extra statements to copy arrays to be saved, since Lapack routines often overwrite input matrices with result matrices.
I have not performed these manipulations myself, and the example included with MKL (dsygstx.f) does not compute eigenvectors. Therefore, I cannot tell you in detail what to do. What one needs to do is to sit down with pencil and paper, read the documentation, and make notes as to how to manage and carry out the work. The coding is then usually quite straightforward.

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