Extracts the eigenvalues and eigenvectors of a symmetric banded matrix. |
||
Syntax |
e, v = EigSB(M,k) |
|
Arguments |
Name |
Description |
M |
Compressed diagonal storage matrix form of the banded square matrix A. Use SymBandMatrix to create it and SymBandMatrixIndices to populate it. The upper triangle of A is ignored due to symmetry. |
|
k |
The number of super or sub-diagonals in the lower or upper band of the original matrix. It should include off-diagonals with zero entries that are in between diagonals with non-zero entries. |
|
Output |
Name |
Description |
e |
A vector of the eigenvalues of the matrix. |
|
v |
A matrix whose columns are the eigenvectors of A. |
|
Example |
Extract the eigenvalues of the symmetric banded matrix [40,2,0;2,40,4;0,4,40]. |
|
Syntax |
||
|
M = [40, 40, 40; 2, 4, 0]; k = 1; e = EigSB(M, k); print(e) |
|
|
ResultA row vector of the eigenvalues. |
|
|
[Matrix] 1 x 3 35.528 40 44.472 |
|
Comments |
For efficiency, the matrix M should be generated directly without creating the matrix A. The number of columns of M is k+1 and the number of columns is same as of A.. Hence, the narrower the band compared to the size of A, the smaller the size of M in comparison to A. EigSB calls dsbev from LAPACK |
|
See Also: |