_BANDV(3F) _BANDV(3F)
BANDV, SBANDV - EISPACK routine. This subroutine finds those
eigenvectors of a REAL SYMMETRIC BAND matrix corresponding to specified
eigenvalues, using inverse iteration. The subroutine may also be used to
solve systems of linear equations with a symmetric or non-symmetric band
coefficient matrix.
subroutine bandv(nm, n, mbw, a, e21, m, w, z, ierr, nv, rv, rv6)
integer nm, n, mbw, m, nv, ierr
double precision e21
double precision a(nm,mbw), w(m), z(nm,m), rv(nv), rv6(n)
subroutine sbandv(nm, n, mbw, a, e21, m, w, z, ierr, nv, rv, rv6)
integer nm, n, mbw, m, nv, ierr
real e21
real a(nm,mbw), w(m), z(nm,m), rv(nv), rv6(n)
On INPUT
NM must be set to the row dimension of two-dimensional array parameters
as declared in the calling program dimension statement.
N is the order of the matrix.
MBW is the number of columns of the array A used to store the band
matrix. If the matrix is symmetric, MBW is its (half) band width,
denoted MB and defined as the number of adjacent diagonals, including the
principal diagonal, required to specify the non-zero portion of the lower
triangle of the matrix. If the subroutine is being used to solve systems
of linear equations and the coefficient matrix is not symmetric, it must
however have the same number of adjacent diagonals above the main
diagonal as below, and in this case, MBW=2*MB-1.
A contains the lower triangle of the symmetric band input matrix stored
as an N by MB array. Its lowest subdiagonal is stored in the last N+1-MB
positions of the first column, its next subdiagonal in the last N+2-MB
positions of the second column, further subdiagonals similarly, and
finally its principal diagonal in the N positions of column MB. If the
subroutine is being used to solve systems of linear equations and the
coefficient matrix is not symmetric, A is N by 2*MB-1 instead with lower
triangle as above and with its first superdiagonal stored in the first
N-1 positions of column MB+1, its second superdiagonal in the first N-2
positions of column MB+2, further superdiagonals similarly, and finally
its highest superdiagonal in the first N+1-MB positions of the last
column. Contents of storages not part of the matrix are arbitrary.
E21 specifies the ordering of the eigenvalues and contains
0.0E0 if the eigenvalues are in ascending order, or
Page 1
_BANDV(3F) _BANDV(3F)
2.0E0 if the eigenvalues are in descending order. If the subroutine
is being used to solve systems of linear equations, E21 should be set to
1.0E0 if the coefficient matrix is symmetric and to -1.0E0 if not.
M is the number of specified eigenvalues or the number of systems of
linear equations.
W contains the M eigenvalues in ascending or descending order. If the
subroutine is being used to solve systems of linear equations (AW(R)*I)*X(R)=B(R),
where I is the identity matrix, W(R) should be set
accordingly, for R=1,2,...,M.
Z contains the constant matrix columns (B(R),R=1,2,...,M), if the
subroutine is used to solve systems of linear equations.
NV must be set to the dimension of the array parameter RV as declared in
the calling program dimension statement. On OUTPUT
A and W are unaltered.
Z contains the associated set of orthogonal eigenvectors. Any vector
which fails to converge is set to zero. If the subroutine is used to
solve systems of linear equations, Z contains the solution matrix columns
(X(R),R=1,2,...,M).
IERR is set to Zero for normal return, -R if the
eigenvector corresponding to the R-th
eigenvalue fails to converge, or if the R-th
system of linear equations is nearly singular.
RV and RV6 are temporary storage arrays. Note that RV is of dimension at
least N*(2*MB-1). If the subroutine is being used to solve systems of
linear equations, the determinant (up to sign) of A-W(M)*I is available,
upon return, as the product of the first N elements of RV. Questions and
comments should be directed to B. S. Garbow, Applied Mathematics
Division, ARGONNE NATIONAL LABORATORY
PPPPaaaaggggeeee 2222 [ Back ]
|