lasy2#
Functions
-
void slasy2(const INT ltranl, const INT ltranr, const INT isgn, const INT n1, const INT n2, const f32 *TL, const INT ldtl, const f32 *TR, const INT ldtr, const f32 *B, const INT ldb, f32 *scale, f32 *X, const INT ldx, f32 *xnorm, INT *info)#
SLASY2 solves for the N1 by N2 matrix X, 1 <= N1,N2 <= 2, in.
where TL is N1 by N1, TR is N2 by N2, B is N1 by N2, and ISGN = 1 or -1. op(T) = T or T**T, where T**T denotes the transpose of T.op(TL)*X + ISGN*X*op(TR) = SCALE*B,
Note
In the interests of speed, this routine does not check the inputs for errors.
Parameters
inltranlIf nonzero, op(TL) = TL**T. Otherwise op(TL) = TL.
inltranrIf nonzero, op(TR) = TR**T. Otherwise op(TR) = TR.
inisgnThe sign in the equation (+1 or -1).
inn1The order of matrix TL. N1 may only be 0, 1 or 2.
inn2The order of matrix TR. N2 may only be 0, 1 or 2.
inTLN1 by N1 matrix TL, dimension (ldtl, 2).
inldtlLeading dimension of TL. ldtl >= max(1, n1).
inTRN2 by N2 matrix TR, dimension (ldtr, 2).
inldtrLeading dimension of TR. ldtr >= max(1, n2).
inBN1 by N2 right-hand side matrix, dimension (ldb, 2).
inldbLeading dimension of B. ldb >= max(1, n1).
outscaleScale factor. Chosen <= 1 to prevent overflow.
outXN1 by N2 solution matrix, dimension (ldx, 2).
inldxLeading dimension of X. ldx >= max(1, n1).
outxnormInfinity-norm of the solution.
outinfo= 0: successful exit.
= 1: TL and TR have too close eigenvalues, so TL or TR is perturbed to get a nonsingular equation.
void slasy2(
const INT ltranl,
const INT ltranr,
const INT isgn,
const INT n1,
const INT n2,
const f32* TL,
const INT ldtl,
const f32* TR,
const INT ldtr,
const f32* B,
const INT ldb,
f32* scale,
f32* X,
const INT ldx,
f32* xnorm,
INT* info
);
Functions
-
void dlasy2(const INT ltranl, const INT ltranr, const INT isgn, const INT n1, const INT n2, const f64 *TL, const INT ldtl, const f64 *TR, const INT ldtr, const f64 *B, const INT ldb, f64 *scale, f64 *X, const INT ldx, f64 *xnorm, INT *info)#
DLASY2 solves for the N1 by N2 matrix X, 1 <= N1,N2 <= 2, in.
where TL is N1 by N1, TR is N2 by N2, B is N1 by N2, and ISGN = 1 or -1. op(T) = T or T**T, where T**T denotes the transpose of T.op(TL)*X + ISGN*X*op(TR) = SCALE*B,
Note
In the interests of speed, this routine does not check the inputs for errors.
Parameters
inltranlIf nonzero, op(TL) = TL**T. Otherwise op(TL) = TL.
inltranrIf nonzero, op(TR) = TR**T. Otherwise op(TR) = TR.
inisgnThe sign in the equation (+1 or -1).
inn1The order of matrix TL. N1 may only be 0, 1 or 2.
inn2The order of matrix TR. N2 may only be 0, 1 or 2.
inTLN1 by N1 matrix TL, dimension (ldtl, 2).
inldtlLeading dimension of TL. ldtl >= max(1, n1).
inTRN2 by N2 matrix TR, dimension (ldtr, 2).
inldtrLeading dimension of TR. ldtr >= max(1, n2).
inBN1 by N2 right-hand side matrix, dimension (ldb, 2).
inldbLeading dimension of B. ldb >= max(1, n1).
outscaleScale factor. Chosen <= 1 to prevent overflow.
outXN1 by N2 solution matrix, dimension (ldx, 2).
inldxLeading dimension of X. ldx >= max(1, n1).
outxnormInfinity-norm of the solution.
outinfo= 0: successful exit.
= 1: TL and TR have too close eigenvalues, so TL or TR is perturbed to get a nonsingular equation.
void dlasy2(
const INT ltranl,
const INT ltranr,
const INT isgn,
const INT n1,
const INT n2,
const f64* TL,
const INT ldtl,
const f64* TR,
const INT ldtr,
const f64* B,
const INT ldb,
f64* scale,
f64* X,
const INT ldx,
f64* xnorm,
INT* info
);