pbtrs#

Functions

void spbtrs(
    const char*          uplo,
    const INT            n,
    const INT            kd,
    const INT            nrhs,
    const f32*  restrict AB,
    const INT            ldab,
          f32*  restrict B,
    const INT            ldb,
          INT*           info
);
void spbtrs(const char *uplo, const INT n, const INT kd, const INT nrhs, const f32 *restrict AB, const INT ldab, f32 *restrict B, const INT ldb, INT *info)#

SPBTRS solves a system of linear equations A*X = B with a symmetric positive definite band matrix A using the Cholesky factorization A = U**T*U or A = L*L**T computed by SPBTRF.

Parameters

in
uplo

  • 'U': Upper triangular factor stored in AB

  • 'L': Lower triangular factor stored in AB

in
n

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

in
kd

The number of superdiagonals of the matrix A if uplo='U', or the number of subdiagonals if uplo='L'. kd>=0.

in
nrhs

The number of right hand sides. nrhs>=0.

in
AB

Array of dimension (ldab, n). The triangular factor U or L from the Cholesky factorization A = U**T*U or A = L*L**T of the band matrix A, stored in the first kd+1 rows of the array. The j-th column of U or L is stored in the j-th column of the array AB as follows: if uplo='U', AB[kd+i-j + j*ldab] = U(i,j) for max(0,j-kd)<=i<=j; if uplo='L', AB[i-j + j*ldab] = L(i,j) for j<=i<=min(n-1,j+kd).

in
ldab

The leading dimension of the array AB. ldab>=kd+1.

inout
B

Array of dimension (ldb, nrhs). On entry, the right hand side matrix B. On exit, the solution matrix X.

in
ldb

The leading dimension of the array B. ldb>=max(1,n).

out
info

  • info=0: successful exit

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

Functions

void dpbtrs(
    const char*          uplo,
    const INT            n,
    const INT            kd,
    const INT            nrhs,
    const f64*  restrict AB,
    const INT            ldab,
          f64*  restrict B,
    const INT            ldb,
          INT*           info
);
void dpbtrs(const char *uplo, const INT n, const INT kd, const INT nrhs, const f64 *restrict AB, const INT ldab, f64 *restrict B, const INT ldb, INT *info)#

DPBTRS solves a system of linear equations A*X = B with a symmetric positive definite band matrix A using the Cholesky factorization A = U**T*U or A = L*L**T computed by DPBTRF.

Parameters

in
uplo

  • 'U': Upper triangular factor stored in AB

  • 'L': Lower triangular factor stored in AB

in
n

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

in
kd

The number of superdiagonals of the matrix A if uplo='U', or the number of subdiagonals if uplo='L'. kd>=0.

in
nrhs

The number of right hand sides. nrhs>=0.

in
AB

Array of dimension (ldab, n). The triangular factor U or L from the Cholesky factorization A = U**T*U or A = L*L**T of the band matrix A, stored in the first kd+1 rows of the array. The j-th column of U or L is stored in the j-th column of the array AB as follows: if uplo='U', AB[kd+i-j + j*ldab] = U(i,j) for max(0,j-kd)<=i<=j; if uplo='L', AB[i-j + j*ldab] = L(i,j) for j<=i<=min(n-1,j+kd).

in
ldab

The leading dimension of the array AB. ldab>=kd+1.

inout
B

Array of dimension (ldb, nrhs). On entry, the right hand side matrix B. On exit, the solution matrix X.

in
ldb

The leading dimension of the array B. ldb>=max(1,n).

out
info

  • info=0: successful exit

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

Functions

void cpbtrs(
    const char*          uplo,
    const INT            n,
    const INT            kd,
    const INT            nrhs,
    const c64*  restrict AB,
    const INT            ldab,
          c64*  restrict B,
    const INT            ldb,
          INT*           info
);
void cpbtrs(const char *uplo, const INT n, const INT kd, const INT nrhs, const c64 *restrict AB, const INT ldab, c64 *restrict B, const INT ldb, INT *info)#

CPBTRS solves a system of linear equations A*X = B with a Hermitian positive definite band matrix A using the Cholesky factorization A = U**H*U or A = L*L**H computed by CPBTRF.

Parameters

in
uplo

  • 'U': Upper triangular factor stored in AB

  • 'L': Lower triangular factor stored in AB

in
n

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

in
kd

The number of superdiagonals of the matrix A if uplo='U', or the number of subdiagonals if uplo='L'. kd>=0.

in
nrhs

The number of right hand sides. nrhs>=0.

in
AB

Array of dimension (ldab, n). The triangular factor U or L from the Cholesky factorization A = U**H*U or A = L*L**H of the band matrix A, stored in the first kd+1 rows of the array. The j-th column of U or L is stored in the j-th column of the array AB as follows: if uplo='U', AB[kd+i-j + j*ldab] = U(i,j) for max(0,j-kd)<=i<=j; if uplo='L', AB[i-j + j*ldab] = L(i,j) for j<=i<=min(n-1,j+kd).

in
ldab

The leading dimension of the array AB. ldab>=kd+1.

inout
B

Array of dimension (ldb, nrhs). On entry, the right hand side matrix B. On exit, the solution matrix X.

in
ldb

The leading dimension of the array B. ldb>=max(1,n).

out
info

  • info=0: successful exit

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

Functions

void zpbtrs(
    const char*          uplo,
    const INT            n,
    const INT            kd,
    const INT            nrhs,
    const c128* restrict AB,
    const INT            ldab,
          c128* restrict B,
    const INT            ldb,
          INT*           info
);
void zpbtrs(const char *uplo, const INT n, const INT kd, const INT nrhs, const c128 *restrict AB, const INT ldab, c128 *restrict B, const INT ldb, INT *info)#

ZPBTRS solves a system of linear equations A*X = B with a Hermitian positive definite band matrix A using the Cholesky factorization A = U**H*U or A = L*L**H computed by ZPBTRF.

Parameters

in
uplo

  • 'U': Upper triangular factor stored in AB

  • 'L': Lower triangular factor stored in AB

in
n

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

in
kd

The number of superdiagonals of the matrix A if uplo='U', or the number of subdiagonals if uplo='L'. kd>=0.

in
nrhs

The number of right hand sides. nrhs>=0.

in
AB

Array of dimension (ldab, n). The triangular factor U or L from the Cholesky factorization A = U**H*U or A = L*L**H of the band matrix A, stored in the first kd+1 rows of the array. The j-th column of U or L is stored in the j-th column of the array AB as follows: if uplo='U', AB[kd+i-j + j*ldab] = U(i,j) for max(0,j-kd)<=i<=j; if uplo='L', AB[i-j + j*ldab] = L(i,j) for j<=i<=min(n-1,j+kd).

in
ldab

The leading dimension of the array AB. ldab>=kd+1.

inout
B

Array of dimension (ldb, nrhs). On entry, the right hand side matrix B. On exit, the solution matrix X.

in
ldb

The leading dimension of the array B. ldb>=max(1,n).

out
info

  • info=0: successful exit

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