laqtr#
Functions
-
void slaqtr(const INT ltran, const INT lreal, const INT n, const f32 *T, const INT ldt, const f32 *B, const f32 w, f32 *scale, f32 *X, f32 *work, INT *info)#
SLAQTR solves the real quasi-triangular system.
or the complex quasi-triangular systemsop(T)*p = scale*c, if lreal = 1
in real arithmetic, where T is upper quasi-triangular. If lreal = 0, then the first diagonal block of T must be 1 by 1, B is the specially structured matrixop(T + iB)*(p+iq) = scale*(c+id), if lreal = 0
op(A) = A or A**T, A**T denotes the transpose of matrix A.B = [ b(0) b(1) ... b(n-1) ] [ w ] [ w ] [ . ] [ w ]
On input, X = [ c ]. On output, X = [ p ]. [ d ] [ q ]
This subroutine is designed for the condition number estimation in routine STRSNA.
Parameters
inltranSpecifies the option of conjugate transpose: = 0: op(T+i*B) = T+i*B, = 1: op(T+i*B) = (T+i*B)**T.
inlrealSpecifies the input matrix structure: = 0: the input is complex, = 1: the input is real.
innThe order of T+i*B. n >= 0.
inTThe upper quasi-triangular matrix T, in Schur canonical form. Dimension (ldt, n).
inldtThe leading dimension of T. ldt >= max(1, n).
inBArray, dimension (n). The elements to form the matrix B. If lreal = 1, B is not referenced.
inwThe diagonal element of the matrix B. If lreal = 1, w is not referenced.
outscaleThe scale factor.
inoutXArray, dimension (2*n). On entry, the right hand side. On exit, overwritten by the solution.
outworkWorkspace array, dimension (n).
outinfo= 0: successful exit.
= 1: some diagonal 1 by 1 block has been perturbed by a small number SMIN to keep nonsingularity.
= 2: some diagonal 2 by 2 block has been perturbed by a small number in SLALN2 to keep nonsingularity.
void slaqtr(
const INT ltran,
const INT lreal,
const INT n,
const f32* T,
const INT ldt,
const f32* B,
const f32 w,
f32* scale,
f32* X,
f32* work,
INT* info
);
Functions
-
void dlaqtr(const INT ltran, const INT lreal, const INT n, const f64 *T, const INT ldt, const f64 *B, const f64 w, f64 *scale, f64 *X, f64 *work, INT *info)#
DLAQTR solves the real quasi-triangular system.
or the complex quasi-triangular systemsop(T)*p = scale*c, if lreal = 1
in real arithmetic, where T is upper quasi-triangular. If lreal = 0, then the first diagonal block of T must be 1 by 1, B is the specially structured matrixop(T + iB)*(p+iq) = scale*(c+id), if lreal = 0
op(A) = A or A**T, A**T denotes the transpose of matrix A.B = [ b(0) b(1) ... b(n-1) ] [ w ] [ w ] [ . ] [ w ]
On input, X = [ c ]. On output, X = [ p ]. [ d ] [ q ]
This subroutine is designed for the condition number estimation in routine DTRSNA.
Parameters
inltranSpecifies the option of conjugate transpose: = 0: op(T+i*B) = T+i*B, = 1: op(T+i*B) = (T+i*B)**T.
inlrealSpecifies the input matrix structure: = 0: the input is complex, = 1: the input is real.
innThe order of T+i*B. n >= 0.
inTThe upper quasi-triangular matrix T, in Schur canonical form. Dimension (ldt, n).
inldtThe leading dimension of T. ldt >= max(1, n).
inBArray, dimension (n). The elements to form the matrix B. If lreal = 1, B is not referenced.
inwThe diagonal element of the matrix B. If lreal = 1, w is not referenced.
outscaleThe scale factor.
inoutXArray, dimension (2*n). On entry, the right hand side. On exit, overwritten by the solution.
outworkWorkspace array, dimension (n).
outinfo= 0: successful exit.
= 1: some diagonal 1 by 1 block has been perturbed by a small number SMIN to keep nonsingularity.
= 2: some diagonal 2 by 2 block has been perturbed by a small number in DLALN2 to keep nonsingularity.
void dlaqtr(
const INT ltran,
const INT lreal,
const INT n,
const f64* T,
const INT ldt,
const f64* B,
const f64 w,
f64* scale,
f64* X,
f64* work,
INT* info
);