sytrs2#
Functions
-
void ssytrs2(const char *uplo, const INT n, const INT nrhs, f32 *restrict A, const INT lda, const INT *restrict ipiv, f32 *restrict B, const INT ldb, f32 *restrict work, INT *info)#
SSYTRS2 solves a system of linear equations A*X = B with a real symmetric matrix A using the factorization A = U*D*U**T or A = L*D*L**T computed by SSYTRF and converted by SSYCONV.
Parameters
inuploSpecifies whether the details of the factorization are stored as an upper or lower triangular matrix. = ‘U’: Upper triangular, form is A = U*D*U**T; = ‘L’: Lower triangular, form is A = L*D*L**T.
innThe order of the matrix A. n >= 0.
innrhsThe number of right hand sides. nrhs >= 0.
inoutADouble precision array, dimension (lda, n). The block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by SSYTRF. Note that A is input/output. At the start of the subroutine, we permute A in a “better” form and then permute A back to its original form at the end.
inldaThe leading dimension of the array A. lda >= max(1,n).
inipivInteger array, dimension (n). Details of the interchanges and the block structure of D as determined by SSYTRF.
inoutBDouble precision array, dimension (ldb, nrhs). On entry, the right hand side matrix B. On exit, the solution matrix X.
inldbThe leading dimension of the array B. ldb >= max(1,n).
outworkDouble precision array, dimension (n).
outinfo= 0: successful exit
< 0: if info = -i, the i-th argument had an illegal value
void ssytrs2(
const char* uplo,
const INT n,
const INT nrhs,
f32* restrict A,
const INT lda,
const INT* restrict ipiv,
f32* restrict B,
const INT ldb,
f32* restrict work,
INT* info
);
Functions
-
void dsytrs2(const char *uplo, const INT n, const INT nrhs, f64 *restrict A, const INT lda, const INT *restrict ipiv, f64 *restrict B, const INT ldb, f64 *restrict work, INT *info)#
DSYTRS2 solves a system of linear equations A*X = B with a real symmetric matrix A using the factorization A = U*D*U**T or A = L*D*L**T computed by DSYTRF and converted by DSYCONV.
Parameters
inuploSpecifies whether the details of the factorization are stored as an upper or lower triangular matrix. = ‘U’: Upper triangular, form is A = U*D*U**T; = ‘L’: Lower triangular, form is A = L*D*L**T.
innThe order of the matrix A. n >= 0.
innrhsThe number of right hand sides. nrhs >= 0.
inoutADouble precision array, dimension (lda, n). The block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by DSYTRF. Note that A is input/output. At the start of the subroutine, we permute A in a “better” form and then permute A back to its original form at the end.
inldaThe leading dimension of the array A. lda >= max(1,n).
inipivInteger array, dimension (n). Details of the interchanges and the block structure of D as determined by DSYTRF.
inoutBDouble precision array, dimension (ldb, nrhs). On entry, the right hand side matrix B. On exit, the solution matrix X.
inldbThe leading dimension of the array B. ldb >= max(1,n).
outworkDouble precision array, dimension (n).
outinfo= 0: successful exit
< 0: if info = -i, the i-th argument had an illegal value
void dsytrs2(
const char* uplo,
const INT n,
const INT nrhs,
f64* restrict A,
const INT lda,
const INT* restrict ipiv,
f64* restrict B,
const INT ldb,
f64* restrict work,
INT* info
);
Functions
-
void csytrs2(const char *uplo, const INT n, const INT nrhs, c64 *restrict A, const INT lda, const INT *restrict ipiv, c64 *restrict B, const INT ldb, c64 *restrict work, INT *info)#
CSYTRS2 solves a system of linear equations A*X = B with a complex symmetric matrix A using the factorization A = U*D*U**T or A = L*D*L**T computed by CSYTRF and converted by CSYCONV.
Parameters
inuploSpecifies whether the details of the factorization are stored as an upper or lower triangular matrix. = ‘U’: Upper triangular, form is A = U*D*U**T; = ‘L’: Lower triangular, form is A = L*D*L**T.
innThe order of the matrix A. n >= 0.
innrhsThe number of right hand sides. nrhs >= 0.
inoutASingle complex array, dimension (lda, n). The block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by CSYTRF. Note that A is input/output. At the start of the subroutine, we permute A in a “better” form and then permute A back to its original form at the end.
inldaThe leading dimension of the array A. lda >= max(1,n).
inipivInteger array, dimension (n). Details of the interchanges and the block structure of D as determined by CSYTRF.
inoutBSingle complex array, dimension (ldb, nrhs). On entry, the right hand side matrix B. On exit, the solution matrix X.
inldbThe leading dimension of the array B. ldb >= max(1,n).
outworkSingle complex array, dimension (n).
outinfo= 0: successful exit
< 0: if info = -i, the i-th argument had an illegal value
void csytrs2(
const char* uplo,
const INT n,
const INT nrhs,
c64* restrict A,
const INT lda,
const INT* restrict ipiv,
c64* restrict B,
const INT ldb,
c64* restrict work,
INT* info
);
Functions
-
void zsytrs2(const char *uplo, const INT n, const INT nrhs, c128 *restrict A, const INT lda, const INT *restrict ipiv, c128 *restrict B, const INT ldb, c128 *restrict work, INT *info)#
ZSYTRS2 solves a system of linear equations A*X = B with a complex symmetric matrix A using the factorization A = U*D*U**T or A = L*D*L**T computed by ZSYTRF and converted by ZSYCONV.
Parameters
inuploSpecifies whether the details of the factorization are stored as an upper or lower triangular matrix. = ‘U’: Upper triangular, form is A = U*D*U**T; = ‘L’: Lower triangular, form is A = L*D*L**T.
innThe order of the matrix A. n >= 0.
innrhsThe number of right hand sides. nrhs >= 0.
inoutADouble complex array, dimension (lda, n). The block diagonal matrix D and the multipliers used to obtain the factor U or L as computed by ZSYTRF. Note that A is input/output. At the start of the subroutine, we permute A in a “better” form and then permute A back to its original form at the end.
inldaThe leading dimension of the array A. lda >= max(1,n).
inipivInteger array, dimension (n). Details of the interchanges and the block structure of D as determined by ZSYTRF.
inoutBDouble complex array, dimension (ldb, nrhs). On entry, the right hand side matrix B. On exit, the solution matrix X.
inldbThe leading dimension of the array B. ldb >= max(1,n).
outworkDouble complex array, dimension (n).
outinfo= 0: successful exit
< 0: if info = -i, the i-th argument had an illegal value
void zsytrs2(
const char* uplo,
const INT n,
const INT nrhs,
c128* restrict A,
const INT lda,
const INT* restrict ipiv,
c128* restrict B,
const INT ldb,
c128* restrict work,
INT* info
);