LAPACK 3.12.0
LAPACK: Linear Algebra PACKage
|
subroutine ssvdct | ( | integer | n, |
real, dimension( * ) | s, | ||
real, dimension( * ) | e, | ||
real | shift, | ||
integer | num | ||
) |
SSVDCT
SSVDCT counts the number NUM of eigenvalues of a 2*N by 2*N tridiagonal matrix T which are less than or equal to SHIFT. T is formed by putting zeros on the diagonal and making the off-diagonals equal to S(1), E(1), S(2), E(2), ... , E(N-1), S(N). If SHIFT is positive, NUM is equal to N plus the number of singular values of a bidiagonal matrix B less than or equal to SHIFT. Here B has diagonal entries S(1), ..., S(N) and superdiagonal entries E(1), ... E(N-1). If SHIFT is negative, NUM is equal to the number of singular values of B greater than or equal to -SHIFT. See W. Kahan "Accurate Eigenvalues of a Symmetric Tridiagonal Matrix", Report CS41, Computer Science Dept., Stanford University, July 21, 1966
[in] | N | N is INTEGER The dimension of the bidiagonal matrix B. |
[in] | S | S is REAL array, dimension (N) The diagonal entries of the bidiagonal matrix B. |
[in] | E | E is REAL array of dimension (N-1) The superdiagonal entries of the bidiagonal matrix B. |
[in] | SHIFT | SHIFT is REAL The shift, used as described under Purpose. |
[out] | NUM | NUM is INTEGER The number of eigenvalues of T less than or equal to SHIFT. |
Definition at line 86 of file ssvdct.f.