tgsna#
Functions
-
void stgsna(const char *job, const char *howmny, const INT *restrict select, const INT n, const f32 *restrict A, const INT lda, const f32 *restrict B, const INT ldb, const f32 *restrict VL, const INT ldvl, const f32 *restrict VR, const INT ldvr, f32 *restrict S, f32 *restrict dif, const INT mm, INT *m, f32 *restrict work, const INT lwork, INT *restrict iwork, INT *info)#
STGSNA estimates reciprocal condition numbers for specified eigenvalues and/or eigenvectors of a matrix pair (A, B) in generalized real Schur canonical form.
Parameters
injob= ‘E’: condition numbers for eigenvalues only (S) = ‘V’: condition numbers for eigenvectors only (DIF) = ‘B’: condition numbers for both (S and DIF)
inhowmny= ‘A’: compute for all eigenpairs = ‘S’: compute for selected eigenpairs
inselectInteger array of dimension (n). If howmny = ‘S’, specifies the eigenpairs for which condition numbers are required.
innThe order of the matrix pair (A, B). n >= 0.
inAArray of dimension (lda, n). Upper quasi-triangular matrix.
inldaThe leading dimension of A. lda >= max(1, n).
inBArray of dimension (ldb, n). Upper triangular matrix.
inldbThe leading dimension of B. ldb >= max(1, n).
inVLArray of dimension (ldvl, m). Left eigenvectors.
inldvlThe leading dimension of VL. ldvl >= 1; if job=’E’/’B’, ldvl >= n.
inVRArray of dimension (ldvr, m). Right eigenvectors.
inldvrThe leading dimension of VR. ldvr >= 1; if job=’E’/’B’, ldvr >= n.
outSArray of dimension (mm). Reciprocal condition numbers of eigenvalues.
outdifArray of dimension (mm). Reciprocal condition numbers of eigenvectors.
inmmThe number of elements in S and dif. mm >= m.
outmThe number of elements used in S and dif.
outworkArray of dimension (lwork).
inlworkThe dimension of work. lwork >= max(1, n). If job = ‘V’ or ‘B’, lwork >= 2*n*(n+2)+16.
outiworkInteger array of dimension (n+6).
outinfo= 0: successful exit
< 0: if info = -i, the i-th argument had an illegal value
void stgsna(
const char* job,
const char* howmny,
const INT* restrict select,
const INT n,
const f32* restrict A,
const INT lda,
const f32* restrict B,
const INT ldb,
const f32* restrict VL,
const INT ldvl,
const f32* restrict VR,
const INT ldvr,
f32* restrict S,
f32* restrict dif,
const INT mm,
INT* m,
f32* restrict work,
const INT lwork,
INT* restrict iwork,
INT* info
);
Functions
-
void dtgsna(const char *job, const char *howmny, const INT *restrict select, const INT n, const f64 *restrict A, const INT lda, const f64 *restrict B, const INT ldb, const f64 *restrict VL, const INT ldvl, const f64 *restrict VR, const INT ldvr, f64 *restrict S, f64 *restrict dif, const INT mm, INT *m, f64 *restrict work, const INT lwork, INT *restrict iwork, INT *info)#
DTGSNA estimates reciprocal condition numbers for specified eigenvalues and/or eigenvectors of a matrix pair (A, B) in generalized real Schur canonical form.
Parameters
injob= ‘E’: condition numbers for eigenvalues only (S) = ‘V’: condition numbers for eigenvectors only (DIF) = ‘B’: condition numbers for both (S and DIF)
inhowmny= ‘A’: compute for all eigenpairs = ‘S’: compute for selected eigenpairs
inselectInteger array of dimension (n). If howmny = ‘S’, specifies the eigenpairs for which condition numbers are required.
innThe order of the matrix pair (A, B). n >= 0.
inAArray of dimension (lda, n). Upper quasi-triangular matrix.
inldaThe leading dimension of A. lda >= max(1, n).
inBArray of dimension (ldb, n). Upper triangular matrix.
inldbThe leading dimension of B. ldb >= max(1, n).
inVLArray of dimension (ldvl, m). Left eigenvectors.
inldvlThe leading dimension of VL. ldvl >= 1; if job=’E’/’B’, ldvl >= n.
inVRArray of dimension (ldvr, m). Right eigenvectors.
inldvrThe leading dimension of VR. ldvr >= 1; if job=’E’/’B’, ldvr >= n.
outSArray of dimension (mm). Reciprocal condition numbers of eigenvalues.
outdifArray of dimension (mm). Reciprocal condition numbers of eigenvectors.
inmmThe number of elements in S and dif. mm >= m.
outmThe number of elements used in S and dif.
outworkArray of dimension (lwork).
inlworkThe dimension of work. lwork >= max(1, n). If job = ‘V’ or ‘B’, lwork >= 2*n*(n+2)+16.
outiworkInteger array of dimension (n+6).
outinfo= 0: successful exit
< 0: if info = -i, the i-th argument had an illegal value
void dtgsna(
const char* job,
const char* howmny,
const INT* restrict select,
const INT n,
const f64* restrict A,
const INT lda,
const f64* restrict B,
const INT ldb,
const f64* restrict VL,
const INT ldvl,
const f64* restrict VR,
const INT ldvr,
f64* restrict S,
f64* restrict dif,
const INT mm,
INT* m,
f64* restrict work,
const INT lwork,
INT* restrict iwork,
INT* info
);
Functions
-
void ctgsna(const char *job, const char *howmny, const INT *restrict select, const INT n, const c64 *restrict A, const INT lda, const c64 *restrict B, const INT ldb, const c64 *restrict VL, const INT ldvl, const c64 *restrict VR, const INT ldvr, f32 *restrict S, f32 *restrict dif, const INT mm, INT *m, c64 *restrict work, const INT lwork, INT *restrict iwork, INT *info)#
CTGSNA estimates reciprocal condition numbers for specified eigenvalues and/or eigenvectors of a matrix pair (A, B) in generalized Schur canonical form (i.e., A and B are both upper triangular).
Parameters
injob= ‘E’: condition numbers for eigenvalues only (S) = ‘V’: condition numbers for eigenvectors only (DIF) = ‘B’: condition numbers for both (S and DIF)
inhowmny= ‘A’: compute for all eigenpairs = ‘S’: compute for selected eigenpairs
inselectInteger array of dimension (n). If howmny = ‘S’, specifies the eigenpairs for which condition numbers are required.
innThe order of the matrix pair (A, B). n >= 0.
inAComplex array of dimension (lda, n). Upper triangular matrix.
inldaThe leading dimension of A. lda >= max(1, n).
inBComplex array of dimension (ldb, n). Upper triangular matrix.
inldbThe leading dimension of B. ldb >= max(1, n).
inVLComplex array of dimension (ldvl, m). Left eigenvectors.
inldvlThe leading dimension of VL. ldvl >= 1; if job=’E’/’B’, ldvl >= n.
inVRComplex array of dimension (ldvr, m). Right eigenvectors.
inldvrThe leading dimension of VR. ldvr >= 1; if job=’E’/’B’, ldvr >= n.
outSSingle precision array of dimension (mm). Reciprocal condition numbers of eigenvalues.
outdifSingle precision array of dimension (mm). Reciprocal condition numbers of eigenvectors.
inmmThe number of elements in S and dif. mm >= m.
outmThe number of elements used in S and dif.
outworkComplex workspace array of dimension (max(1, lwork)).
inlworkThe dimension of work. lwork >= max(1, n). If job = ‘V’ or ‘B’, lwork >= max(1, 2*n*n).
outiworkInteger array of dimension (n+2).
outinfo= 0: successful exit
< 0: if info = -i, the i-th argument had an illegal value
void ctgsna(
const char* job,
const char* howmny,
const INT* restrict select,
const INT n,
const c64* restrict A,
const INT lda,
const c64* restrict B,
const INT ldb,
const c64* restrict VL,
const INT ldvl,
const c64* restrict VR,
const INT ldvr,
f32* restrict S,
f32* restrict dif,
const INT mm,
INT* m,
c64* restrict work,
const INT lwork,
INT* restrict iwork,
INT* info
);
Functions
-
void ztgsna(const char *job, const char *howmny, const INT *restrict select, const INT n, const c128 *restrict A, const INT lda, const c128 *restrict B, const INT ldb, const c128 *restrict VL, const INT ldvl, const c128 *restrict VR, const INT ldvr, f64 *restrict S, f64 *restrict dif, const INT mm, INT *m, c128 *restrict work, const INT lwork, INT *restrict iwork, INT *info)#
ZTGSNA estimates reciprocal condition numbers for specified eigenvalues and/or eigenvectors of a matrix pair (A, B) in generalized Schur canonical form (i.e., A and B are both upper triangular).
Parameters
injob= ‘E’: condition numbers for eigenvalues only (S) = ‘V’: condition numbers for eigenvectors only (DIF) = ‘B’: condition numbers for both (S and DIF)
inhowmny= ‘A’: compute for all eigenpairs = ‘S’: compute for selected eigenpairs
inselectInteger array of dimension (n). If howmny = ‘S’, specifies the eigenpairs for which condition numbers are required.
innThe order of the matrix pair (A, B). n >= 0.
inAComplex array of dimension (lda, n). Upper triangular matrix.
inldaThe leading dimension of A. lda >= max(1, n).
inBComplex array of dimension (ldb, n). Upper triangular matrix.
inldbThe leading dimension of B. ldb >= max(1, n).
inVLComplex array of dimension (ldvl, m). Left eigenvectors.
inldvlThe leading dimension of VL. ldvl >= 1; if job=’E’/’B’, ldvl >= n.
inVRComplex array of dimension (ldvr, m). Right eigenvectors.
inldvrThe leading dimension of VR. ldvr >= 1; if job=’E’/’B’, ldvr >= n.
outSDouble precision array of dimension (mm). Reciprocal condition numbers of eigenvalues.
outdifDouble precision array of dimension (mm). Reciprocal condition numbers of eigenvectors.
inmmThe number of elements in S and dif. mm >= m.
outmThe number of elements used in S and dif.
outworkComplex workspace array of dimension (max(1, lwork)).
inlworkThe dimension of work. lwork >= max(1, n). If job = ‘V’ or ‘B’, lwork >= max(1, 2*n*n).
outiworkInteger array of dimension (n+2).
outinfo= 0: successful exit
< 0: if info = -i, the i-th argument had an illegal value
void ztgsna(
const char* job,
const char* howmny,
const INT* restrict select,
const INT n,
const c128* restrict A,
const INT lda,
const c128* restrict B,
const INT ldb,
const c128* restrict VL,
const INT ldvl,
const c128* restrict VR,
const INT ldvr,
f64* restrict S,
f64* restrict dif,
const INT mm,
INT* m,
c128* restrict work,
const INT lwork,
INT* restrict iwork,
INT* info
);