latbs#

Functions

void slatbs(
    const char*          uplo,
    const char*          trans,
    const char*          diag,
    const char*          normin,
    const INT            n,
    const INT            kd,
    const f32*  restrict AB,
    const INT            ldab,
          f32*  restrict X,
          f32*           scale,
          f32*  restrict cnorm,
          INT*           info
);
void slatbs(const char *uplo, const char *trans, const char *diag, const char *normin, const INT n, const INT kd, const f32 *restrict AB, const INT ldab, f32 *restrict X, f32 *scale, f32 *restrict cnorm, INT *info)#

SLATBS solves one of the triangular systems A * x = s*b or A**T * x = s*b with scaling to prevent overflow, where A is an upper or lower triangular band matrix.

Here 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 DTBSV 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
kd

The number of subdiagonals or superdiagonals in A (kd >= 0).

in
AB

The triangular band matrix A, stored in the first kd+1 rows. Array of dimension (ldab, n). If uplo = “U”, AB[kd+i-j + j*ldab] = A(i,j) for max(0,j-kd)<=i<=j. If uplo = “L”, AB[i-j + j*ldab] = A(i,j) for j<=i<=min(n-1,j+kd).

in
ldab

The leading dimension of AB (ldab >= kd+1).

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 dlatbs(
    const char*          uplo,
    const char*          trans,
    const char*          diag,
    const char*          normin,
    const INT            n,
    const INT            kd,
    const f64*  restrict AB,
    const INT            ldab,
          f64*  restrict X,
          f64*           scale,
          f64*  restrict cnorm,
          INT*           info
);
void dlatbs(const char *uplo, const char *trans, const char *diag, const char *normin, const INT n, const INT kd, const f64 *restrict AB, const INT ldab, f64 *restrict X, f64 *scale, f64 *restrict cnorm, INT *info)#

DLATBS solves one of the triangular systems A * x = s*b or A**T * x = s*b with scaling to prevent overflow, where A is an upper or lower triangular band matrix.

Here 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 DTBSV 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
kd

The number of subdiagonals or superdiagonals in A (kd >= 0).

in
AB

The triangular band matrix A, stored in the first kd+1 rows. Array of dimension (ldab, n). If uplo = “U”, AB[kd+i-j + j*ldab] = A(i,j) for max(0,j-kd)<=i<=j. If uplo = “L”, AB[i-j + j*ldab] = A(i,j) for j<=i<=min(n-1,j+kd).

in
ldab

The leading dimension of AB (ldab >= kd+1).

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 clatbs(
    const char*          uplo,
    const char*          trans,
    const char*          diag,
    const char*          normin,
    const INT            n,
    const INT            kd,
    const c64*  restrict AB,
    const INT            ldab,
          c64*  restrict X,
          f32*           scale,
          f32*  restrict cnorm,
          INT*           info
);
void clatbs(const char *uplo, const char *trans, const char *diag, const char *normin, const INT n, const INT kd, const c64 *restrict AB, const INT ldab, c64 *restrict X, f32 *scale, f32 *restrict cnorm, INT *info)#

CLATBS 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, where A is an upper or lower triangular band matrix.

Here 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 ZTBSV 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
kd

The number of subdiagonals or superdiagonals in A (kd >= 0).

in
AB

The triangular band matrix A, stored in the first kd+1 rows. Array of dimension (ldab, n).

in
ldab

The leading dimension of AB (ldab >= kd+1).

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

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

Functions

void zlatbs(
    const char*          uplo,
    const char*          trans,
    const char*          diag,
    const char*          normin,
    const INT            n,
    const INT            kd,
    const c128* restrict AB,
    const INT            ldab,
          c128* restrict X,
          f64*           scale,
          f64*  restrict cnorm,
          INT*           info
);
void zlatbs(const char *uplo, const char *trans, const char *diag, const char *normin, const INT n, const INT kd, const c128 *restrict AB, const INT ldab, c128 *restrict X, f64 *scale, f64 *restrict cnorm, INT *info)#

ZLATBS 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, where A is an upper or lower triangular band matrix.

Here 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 ZTBSV 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
kd

The number of subdiagonals or superdiagonals in A (kd >= 0).

in
AB

The triangular band matrix A, stored in the first kd+1 rows. Array of dimension (ldab, n).

in
ldab

The leading dimension of AB (ldab >= kd+1).

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

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