latrs#

Functions

void slatrs(
    const char*          uplo,
    const char*          trans,
    const char*          diag,
    const char*          normin,
    const INT            n,
    const f32*  restrict A,
    const INT            lda,
          f32*  restrict X,
          f32*           scale,
          f32*  restrict cnorm,
          INT*           info
);
void slatrs(const char *uplo, const char *trans, const char *diag, const char *normin, const INT n, const f32 *restrict A, const INT lda, f32 *restrict X, f32 *scale, f32 *restrict cnorm, INT *info)#

SLATRS solves one of the triangular systems A * x = s*b or A**T * x = s*b with scaling to prevent overflow.

Here A is an upper or lower triangular matrix, A**T denotes the transpose of A, x and b are n-element vectors, and s is a scaling factor, usually less than or equal to 1, chosen so that the components of x will be less than the overflow threshold. If the unscaled problem will not cause overflow, the Level 2 BLAS routine DTRSV is called. If the matrix A is singular (A(j,j) = 0 for some j), then s is set to 0 and a non-trivial solution to A*x = 0 is returned.

Parameters

in
uplo

‘U’: A is upper triangular; ‘L’: A is lower triangular.

in
trans

‘N’: Solve A * x = s*b; ‘T’/’C’: Solve A**T * x = s*b.

in
diag

‘N’: A is non-unit triangular; ‘U’: A is unit triangular.

in
normin

‘Y’: CNORM contains column norms on entry; ‘N’: CNORM is not set, will be computed.

in
n

The order of the matrix A (n >= 0).

in
A

The triangular matrix A. Array of dimension (lda, n).

in
lda

The leading dimension of A (lda >= max(1,n)).

inout
X

On entry, the right hand side b. On exit, overwritten by the solution x. Array of dimension n.

out
scale

The scaling factor s for the triangular system.

inout
cnorm

If normin=’Y’, cnorm contains column norms on entry. If normin=’N’, cnorm returns the 1-norm of offdiagonal part of column j. Array of dimension n.

out
info

Exit status:

  • = 0: successful exit

  • < 0: if info = -k, the k-th argument had an illegal value

Functions

void dlatrs(
    const char*          uplo,
    const char*          trans,
    const char*          diag,
    const char*          normin,
    const INT            n,
    const f64*  restrict A,
    const INT            lda,
          f64*  restrict X,
          f64*           scale,
          f64*  restrict cnorm,
          INT*           info
);
void dlatrs(const char *uplo, const char *trans, const char *diag, const char *normin, const INT n, const f64 *restrict A, const INT lda, f64 *restrict X, f64 *scale, f64 *restrict cnorm, INT *info)#

DLATRS solves one of the triangular systems A * x = s*b or A**T * x = s*b with scaling to prevent overflow.

Here A is an upper or lower triangular matrix, A**T denotes the transpose of A, x and b are n-element vectors, and s is a scaling factor, usually less than or equal to 1, chosen so that the components of x will be less than the overflow threshold. If the unscaled problem will not cause overflow, the Level 2 BLAS routine DTRSV is called. If the matrix A is singular (A(j,j) = 0 for some j), then s is set to 0 and a non-trivial solution to A*x = 0 is returned.

Parameters

in
uplo

‘U’: A is upper triangular; ‘L’: A is lower triangular.

in
trans

‘N’: Solve A * x = s*b; ‘T’/’C’: Solve A**T * x = s*b.

in
diag

‘N’: A is non-unit triangular; ‘U’: A is unit triangular.

in
normin

‘Y’: CNORM contains column norms on entry; ‘N’: CNORM is not set, will be computed.

in
n

The order of the matrix A (n >= 0).

in
A

The triangular matrix A. Array of dimension (lda, n).

in
lda

The leading dimension of A (lda >= max(1,n)).

inout
X

On entry, the right hand side b. On exit, overwritten by the solution x. Array of dimension n.

out
scale

The scaling factor s for the triangular system.

inout
cnorm

If normin=’Y’, cnorm contains column norms on entry. If normin=’N’, cnorm returns the 1-norm of offdiagonal part of column j. Array of dimension n.

out
info

Exit status:

  • = 0: successful exit

  • < 0: if info = -k, the k-th argument had an illegal value

Functions

void clatrs(
    const char*          uplo,
    const char*          trans,
    const char*          diag,
    const char*          normin,
    const INT            n,
    const c64*  restrict A,
    const INT            lda,
          c64*  restrict X,
          f32*           scale,
          f32*  restrict cnorm,
          INT*           info
);
void clatrs(const char *uplo, const char *trans, const char *diag, const char *normin, const INT n, const c64 *restrict A, const INT lda, c64 *restrict X, f32 *scale, f32 *restrict cnorm, INT *info)#

CLATRS solves one of the triangular systems A * x = s*b, A**T * x = s*b, or A**H * x = s*b with scaling to prevent overflow.

Here A is an upper or lower triangular matrix, A**T denotes the transpose of A, A**H denotes the conjugate transpose of A, x and b are n-element vectors, and s is a scaling factor, usually less than or equal to 1, chosen so that the components of x will be less than the overflow threshold. If the unscaled problem will not cause overflow, the Level 2 BLAS routine ZTRSV is called. If the matrix A is singular (A(j,j) = 0 for some j), then s is set to 0 and a non-trivial solution to A*x = 0 is returned.

Parameters

in
uplo

‘U’: A is upper triangular; ‘L’: A is lower triangular.

in
trans

‘N’: Solve A*x = s*b; ‘T’: Solve A**T*x = s*b; ‘C’: Solve A**H*x = s*b.

in
diag

‘N’: A is non-unit triangular; ‘U’: A is unit triangular.

in
normin

‘Y’: CNORM contains column norms on entry; ‘N’: CNORM is not set, will be computed.

in
n

The order of the matrix A (n >= 0).

in
A

The triangular matrix A. Complex*16 array, dimension (lda, n).

in
lda

The leading dimension of A (lda >= max(1,n)).

inout
X

On entry, the right hand side b. On exit, overwritten by the solution x. Complex*16 array, dimension n.

out
scale

The scaling factor s for the triangular system.

inout
cnorm

If normin=’Y’, cnorm contains column norms on entry. If normin=’N’, cnorm returns the 1-norm of offdiagonal part of column j. Single precision array, dimension n.

out
info

Exit status:

  • = 0: successful exit

  • < 0: if info = -k, the k-th argument had an illegal value

Functions

void zlatrs(
    const char*          uplo,
    const char*          trans,
    const char*          diag,
    const char*          normin,
    const INT            n,
    const c128* restrict A,
    const INT            lda,
          c128* restrict X,
          f64*           scale,
          f64*  restrict cnorm,
          INT*           info
);
void zlatrs(const char *uplo, const char *trans, const char *diag, const char *normin, const INT n, const c128 *restrict A, const INT lda, c128 *restrict X, f64 *scale, f64 *restrict cnorm, INT *info)#

ZLATRS solves one of the triangular systems A * x = s*b, A**T * x = s*b, or A**H * x = s*b with scaling to prevent overflow.

Here A is an upper or lower triangular matrix, A**T denotes the transpose of A, A**H denotes the conjugate transpose of A, x and b are n-element vectors, and s is a scaling factor, usually less than or equal to 1, chosen so that the components of x will be less than the overflow threshold. If the unscaled problem will not cause overflow, the Level 2 BLAS routine ZTRSV is called. If the matrix A is singular (A(j,j) = 0 for some j), then s is set to 0 and a non-trivial solution to A*x = 0 is returned.

Parameters

in
uplo

‘U’: A is upper triangular; ‘L’: A is lower triangular.

in
trans

‘N’: Solve A*x = s*b; ‘T’: Solve A**T*x = s*b; ‘C’: Solve A**H*x = s*b.

in
diag

‘N’: A is non-unit triangular; ‘U’: A is unit triangular.

in
normin

‘Y’: CNORM contains column norms on entry; ‘N’: CNORM is not set, will be computed.

in
n

The order of the matrix A (n >= 0).

in
A

The triangular matrix A. Complex*16 array, dimension (lda, n).

in
lda

The leading dimension of A (lda >= max(1,n)).

inout
X

On entry, the right hand side b. On exit, overwritten by the solution x. Complex*16 array, dimension n.

out
scale

The scaling factor s for the triangular system.

inout
cnorm

If normin=’Y’, cnorm contains column norms on entry. If normin=’N’, cnorm returns the 1-norm of offdiagonal part of column j. Double precision array, dimension n.

out
info

Exit status:

  • = 0: successful exit

  • < 0: if info = -k, the k-th argument had an illegal value