sbtrd#
Functions
-
void ssbtrd(const char *vect, const char *uplo, const INT n, const INT kd, f32 *restrict AB, const INT ldab, f32 *restrict D, f32 *restrict E, f32 *restrict Q, const INT ldq, f32 *restrict work, INT *info)#
SSBTRD reduces a real symmetric band matrix A to symmetric tridiagonal form T by an orthogonal similarity transformation: Q**T * A * Q = T.
Parameters
invect= ‘N’: do not form Q = ‘V’: form Q = ‘U’: update a matrix X, by forming X*Q
inuplo= ‘U’: Upper triangle of A is stored = ‘L’: Lower triangle of A is stored
innThe order of the matrix A. n >= 0.
inkdThe number of super-diagonals (if uplo=’U’) or sub-diagonals (if uplo=’L’). kd >= 0.
inoutABThe banded matrix A. Array of dimension (ldab, n). On exit, the diagonal and off-diagonal elements are overwritten by the tridiagonal matrix T.
inldabThe leading dimension of AB. ldab >= kd+1.
outDThe diagonal elements of T. Array of dimension (n).
outEThe off-diagonal elements of T. Array of dimension (n-1).
inoutQOn entry, if vect=’U’, an n-by-n matrix X. On exit, if vect=’V’, the orthogonal Q. If vect=’U’, the product X*Q. Array of dimension (ldq, n).
inldqThe leading dimension of Q. ldq >= 1, and ldq >= n if vect=’V’ or ‘U’.
outworkWorkspace array of dimension (n).
outinfo= 0: successful exit
< 0: if info = -i, the i-th argument had an illegal value
void ssbtrd(
const char* vect,
const char* uplo,
const INT n,
const INT kd,
f32* restrict AB,
const INT ldab,
f32* restrict D,
f32* restrict E,
f32* restrict Q,
const INT ldq,
f32* restrict work,
INT* info
);
Functions
-
void dsbtrd(const char *vect, const char *uplo, const INT n, const INT kd, f64 *restrict AB, const INT ldab, f64 *restrict D, f64 *restrict E, f64 *restrict Q, const INT ldq, f64 *restrict work, INT *info)#
DSBTRD reduces a real symmetric band matrix A to symmetric tridiagonal form T by an orthogonal similarity transformation: Q**T * A * Q = T.
Parameters
invect= ‘N’: do not form Q = ‘V’: form Q = ‘U’: update a matrix X, by forming X*Q
inuplo= ‘U’: Upper triangle of A is stored = ‘L’: Lower triangle of A is stored
innThe order of the matrix A. n >= 0.
inkdThe number of super-diagonals (if uplo=’U’) or sub-diagonals (if uplo=’L’). kd >= 0.
inoutABThe banded matrix A. Array of dimension (ldab, n). On exit, the diagonal and off-diagonal elements are overwritten by the tridiagonal matrix T.
inldabThe leading dimension of AB. ldab >= kd+1.
outDThe diagonal elements of T. Array of dimension (n).
outEThe off-diagonal elements of T. Array of dimension (n-1).
inoutQOn entry, if vect=’U’, an n-by-n matrix X. On exit, if vect=’V’, the orthogonal Q. If vect=’U’, the product X*Q. Array of dimension (ldq, n).
inldqThe leading dimension of Q. ldq >= 1, and ldq >= n if vect=’V’ or ‘U’.
outworkWorkspace array of dimension (n).
outinfo= 0: successful exit
< 0: if info = -i, the i-th argument had an illegal value
void dsbtrd(
const char* vect,
const char* uplo,
const INT n,
const INT kd,
f64* restrict AB,
const INT ldab,
f64* restrict D,
f64* restrict E,
f64* restrict Q,
const INT ldq,
f64* restrict work,
INT* info
);