fortran-lapack
Loading...
Searching...
No Matches
la_lapack_solve_ldl Module Reference

Symmetric and Hermitian indefinite drivers. More...

Functions/Subroutines

pure subroutine, public la_sspsv (uplo, n, nrhs, ap, ipiv, b, ldb, info)
 SSPSV: computes the solution to a real system of linear equations A * X = B, where A is an N-by-N symmetric matrix stored in packed format and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**T, if UPLO = 'U', or A = L * D * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. The factored form of A is then used to solve the system of equations A * X = B.
 
pure subroutine, public la_dspsv (uplo, n, nrhs, ap, ipiv, b, ldb, info)
 DSPSV: computes the solution to a real system of linear equations A * X = B, where A is an N-by-N symmetric matrix stored in packed format and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**T, if UPLO = 'U', or A = L * D * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. The factored form of A is then used to solve the system of equations A * X = B.
 
pure subroutine, public la_qspsv (uplo, n, nrhs, ap, ipiv, b, ldb, info)
 QSPSV: computes the solution to a real system of linear equations A * X = B, where A is an N-by-N symmetric matrix stored in packed format and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**T, if UPLO = 'U', or A = L * D * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. The factored form of A is then used to solve the system of equations A * X = B.
 
subroutine, public la_sspsvx (fact, uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, iwork, info)
 SSPSVX: uses the diagonal pivoting factorization A = U*D*U**T or A = L*D*L**T to compute the solution to a real system of linear equations A * X = B, where A is an N-by-N symmetric matrix stored in packed format and X and B are N-by-NRHS matrices. Error bounds on the solution and a condition estimate are also provided.
 
subroutine, public la_dspsvx (fact, uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, iwork, info)
 DSPSVX: uses the diagonal pivoting factorization A = U*D*U**T or A = L*D*L**T to compute the solution to a real system of linear equations A * X = B, where A is an N-by-N symmetric matrix stored in packed format and X and B are N-by-NRHS matrices. Error bounds on the solution and a condition estimate are also provided.
 
subroutine, public la_qspsvx (fact, uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, iwork, info)
 QSPSVX: uses the diagonal pivoting factorization A = U*D*U**T or A = L*D*L**T to compute the solution to a real system of linear equations A * X = B, where A is an N-by-N symmetric matrix stored in packed format and X and B are N-by-NRHS matrices. Error bounds on the solution and a condition estimate are also provided.
 
pure subroutine, public la_ssysv_rk (uplo, n, nrhs, a, lda, e, ipiv, b, ldb, work, lwork, info)
 SSYSV_RK: computes the solution to a real system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. The bounded Bunch-Kaufman (rook) diagonal pivoting method is used to factor A as A = P*U*D*(U**T)*(P**T), if UPLO = 'U', or A = P*L*D*(L**T)*(P**T), if UPLO = 'L', where U (or L) is unit upper (or lower) triangular matrix, U**T (or L**T) is the transpose of U (or L), P is a permutation matrix, P**T is the transpose of P, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. SSYTRF_RK is called to compute the factorization of a real symmetric matrix. The factored form of A is then used to solve the system of equations A * X = B by calling BLAS3 routine SSYTRS_3.
 
pure subroutine, public la_dsysv_rk (uplo, n, nrhs, a, lda, e, ipiv, b, ldb, work, lwork, info)
 DSYSV_RK: computes the solution to a real system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. The bounded Bunch-Kaufman (rook) diagonal pivoting method is used to factor A as A = P*U*D*(U**T)*(P**T), if UPLO = 'U', or A = P*L*D*(L**T)*(P**T), if UPLO = 'L', where U (or L) is unit upper (or lower) triangular matrix, U**T (or L**T) is the transpose of U (or L), P is a permutation matrix, P**T is the transpose of P, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. DSYTRF_RK is called to compute the factorization of a real symmetric matrix. The factored form of A is then used to solve the system of equations A * X = B by calling BLAS3 routine DSYTRS_3.
 
pure subroutine, public la_qsysv_rk (uplo, n, nrhs, a, lda, e, ipiv, b, ldb, work, lwork, info)
 QSYSV_RK: computes the solution to a real system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. The bounded Bunch-Kaufman (rook) diagonal pivoting method is used to factor A as A = P*U*D*(U**T)*(P**T), if UPLO = 'U', or A = P*L*D*(L**T)*(P**T), if UPLO = 'L', where U (or L) is unit upper (or lower) triangular matrix, U**T (or L**T) is the transpose of U (or L), P is a permutation matrix, P**T is the transpose of P, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. QSYTRF_RK is called to compute the factorization of a real symmetric matrix. The factored form of A is then used to solve the system of equations A * X = B by calling BLAS3 routine QSYTRS_3.
 
pure subroutine, public la_ssysv_rook (uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info)
 SSYSV_ROOK: computes the solution to a real system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**T, if UPLO = 'U', or A = L * D * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. SSYTRF_ROOK is called to compute the factorization of a real symmetric matrix A using the bounded Bunch-Kaufman ("rook") diagonal pivoting method. The factored form of A is then used to solve the system of equations A * X = B by calling SSYTRS_ROOK.
 
pure subroutine, public la_dsysv_rook (uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info)
 DSYSV_ROOK: computes the solution to a real system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**T, if UPLO = 'U', or A = L * D * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. DSYTRF_ROOK is called to compute the factorization of a real symmetric matrix A using the bounded Bunch-Kaufman ("rook") diagonal pivoting method. The factored form of A is then used to solve the system of equations A * X = B by calling DSYTRS_ROOK.
 
pure subroutine, public la_qsysv_rook (uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info)
 QSYSV_ROOK: computes the solution to a real system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**T, if UPLO = 'U', or A = L * D * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. QSYTRF_ROOK is called to compute the factorization of a real symmetric matrix A using the bounded Bunch-Kaufman ("rook") diagonal pivoting method. The factored form of A is then used to solve the system of equations A * X = B by calling QSYTRS_ROOK.
 
pure subroutine, public la_ssysv (uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info)
 SSYSV: computes the solution to a real system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**T, if UPLO = 'U', or A = L * D * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. The factored form of A is then used to solve the system of equations A * X = B.
 
pure subroutine, public la_dsysv (uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info)
 DSYSV: computes the solution to a real system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**T, if UPLO = 'U', or A = L * D * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. The factored form of A is then used to solve the system of equations A * X = B.
 
pure subroutine, public la_qsysv (uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info)
 QSYSV: computes the solution to a real system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**T, if UPLO = 'U', or A = L * D * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. The factored form of A is then used to solve the system of equations A * X = B.
 
subroutine, public la_ssysvx (fact, uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, lwork, iwork, info)
 SSYSVX: uses the diagonal pivoting factorization to compute the solution to a real system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. Error bounds on the solution and a condition estimate are also provided.
 
subroutine, public la_dsysvx (fact, uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, lwork, iwork, info)
 DSYSVX: uses the diagonal pivoting factorization to compute the solution to a real system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. Error bounds on the solution and a condition estimate are also provided.
 
subroutine, public la_qsysvx (fact, uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, lwork, iwork, info)
 QSYSVX: uses the diagonal pivoting factorization to compute the solution to a real system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. Error bounds on the solution and a condition estimate are also provided.
 
pure subroutine, public la_ssysv_aa (uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info)
 SSYSV computes the solution to a real system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. Aasen's algorithm is used to factor A as A = U**T * T * U, if UPLO = 'U', or A = L * T * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and T is symmetric tridiagonal. The factored form of A is then used to solve the system of equations A * X = B.
 
pure subroutine, public la_dsysv_aa (uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info)
 DSYSV computes the solution to a real system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. Aasen's algorithm is used to factor A as A = U**T * T * U, if UPLO = 'U', or A = L * T * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and T is symmetric tridiagonal. The factored form of A is then used to solve the system of equations A * X = B.
 
pure subroutine, public la_qsysv_aa (uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info)
 QSYSV computes the solution to a real system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. Aasen's algorithm is used to factor A as A = U**T * T * U, if UPLO = 'U', or A = L * T * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and T is symmetric tridiagonal. The factored form of A is then used to solve the system of equations A * X = B.
 
pure subroutine, public la_cspsv (uplo, n, nrhs, ap, ipiv, b, ldb, info)
 CSPSV: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix stored in packed format and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**T, if UPLO = 'U', or A = L * D * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. The factored form of A is then used to solve the system of equations A * X = B.
 
pure subroutine, public la_zspsv (uplo, n, nrhs, ap, ipiv, b, ldb, info)
 ZSPSV: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix stored in packed format and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**T, if UPLO = 'U', or A = L * D * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. The factored form of A is then used to solve the system of equations A * X = B.
 
pure subroutine, public la_wspsv (uplo, n, nrhs, ap, ipiv, b, ldb, info)
 WSPSV: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix stored in packed format and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**T, if UPLO = 'U', or A = L * D * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. The factored form of A is then used to solve the system of equations A * X = B.
 
subroutine, public la_cspsvx (fact, uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, rwork, info)
 CSPSVX: uses the diagonal pivoting factorization A = U*D*U**T or A = L*D*L**T to compute the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix stored in packed format and X and B are N-by-NRHS matrices. Error bounds on the solution and a condition estimate are also provided.
 
subroutine, public la_zspsvx (fact, uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, rwork, info)
 ZSPSVX: uses the diagonal pivoting factorization A = U*D*U**T or A = L*D*L**T to compute the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix stored in packed format and X and B are N-by-NRHS matrices. Error bounds on the solution and a condition estimate are also provided.
 
subroutine, public la_wspsvx (fact, uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, rwork, info)
 WSPSVX: uses the diagonal pivoting factorization A = U*D*U**T or A = L*D*L**T to compute the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix stored in packed format and X and B are N-by-NRHS matrices. Error bounds on the solution and a condition estimate are also provided.
 
pure subroutine, public la_csysv (uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info)
 CSYSV: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**T, if UPLO = 'U', or A = L * D * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. The factored form of A is then used to solve the system of equations A * X = B.
 
pure subroutine, public la_zsysv (uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info)
 ZSYSV: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**T, if UPLO = 'U', or A = L * D * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. The factored form of A is then used to solve the system of equations A * X = B.
 
pure subroutine, public la_wsysv (uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info)
 WSYSV: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**T, if UPLO = 'U', or A = L * D * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. The factored form of A is then used to solve the system of equations A * X = B.
 
pure subroutine, public la_csysv_rk (uplo, n, nrhs, a, lda, e, ipiv, b, ldb, work, lwork, info)
 CSYSV_RK: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. The bounded Bunch-Kaufman (rook) diagonal pivoting method is used to factor A as A = P*U*D*(U**T)*(P**T), if UPLO = 'U', or A = P*L*D*(L**T)*(P**T), if UPLO = 'L', where U (or L) is unit upper (or lower) triangular matrix, U**T (or L**T) is the transpose of U (or L), P is a permutation matrix, P**T is the transpose of P, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. CSYTRF_RK is called to compute the factorization of a complex symmetric matrix. The factored form of A is then used to solve the system of equations A * X = B by calling BLAS3 routine CSYTRS_3.
 
pure subroutine, public la_zsysv_rk (uplo, n, nrhs, a, lda, e, ipiv, b, ldb, work, lwork, info)
 ZSYSV_RK: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. The bounded Bunch-Kaufman (rook) diagonal pivoting method is used to factor A as A = P*U*D*(U**T)*(P**T), if UPLO = 'U', or A = P*L*D*(L**T)*(P**T), if UPLO = 'L', where U (or L) is unit upper (or lower) triangular matrix, U**T (or L**T) is the transpose of U (or L), P is a permutation matrix, P**T is the transpose of P, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. ZSYTRF_RK is called to compute the factorization of a complex symmetric matrix. The factored form of A is then used to solve the system of equations A * X = B by calling BLAS3 routine ZSYTRS_3.
 
pure subroutine, public la_wsysv_rk (uplo, n, nrhs, a, lda, e, ipiv, b, ldb, work, lwork, info)
 WSYSV_RK: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. The bounded Bunch-Kaufman (rook) diagonal pivoting method is used to factor A as A = P*U*D*(U**T)*(P**T), if UPLO = 'U', or A = P*L*D*(L**T)*(P**T), if UPLO = 'L', where U (or L) is unit upper (or lower) triangular matrix, U**T (or L**T) is the transpose of U (or L), P is a permutation matrix, P**T is the transpose of P, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. WSYTRF_RK is called to compute the factorization of a complex symmetric matrix. The factored form of A is then used to solve the system of equations A * X = B by calling BLAS3 routine WSYTRS_3.
 
pure subroutine, public la_csysv_rook (uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info)
 CSYSV_ROOK: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**T, if UPLO = 'U', or A = L * D * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. CSYTRF_ROOK is called to compute the factorization of a complex symmetric matrix A using the bounded Bunch-Kaufman ("rook") diagonal pivoting method. The factored form of A is then used to solve the system of equations A * X = B by calling CSYTRS_ROOK.
 
pure subroutine, public la_zsysv_rook (uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info)
 ZSYSV_ROOK: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**T, if UPLO = 'U', or A = L * D * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. ZSYTRF_ROOK is called to compute the factorization of a complex symmetric matrix A using the bounded Bunch-Kaufman ("rook") diagonal pivoting method. The factored form of A is then used to solve the system of equations A * X = B by calling ZSYTRS_ROOK.
 
pure subroutine, public la_wsysv_rook (uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info)
 WSYSV_ROOK: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**T, if UPLO = 'U', or A = L * D * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. WSYTRF_ROOK is called to compute the factorization of a complex symmetric matrix A using the bounded Bunch-Kaufman ("rook") diagonal pivoting method. The factored form of A is then used to solve the system of equations A * X = B by calling WSYTRS_ROOK.
 
subroutine, public la_csysvx (fact, uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, lwork, rwork, info)
 CSYSVX: uses the diagonal pivoting factorization to compute the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. Error bounds on the solution and a condition estimate are also provided.
 
subroutine, public la_zsysvx (fact, uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, lwork, rwork, info)
 ZSYSVX: uses the diagonal pivoting factorization to compute the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. Error bounds on the solution and a condition estimate are also provided.
 
subroutine, public la_wsysvx (fact, uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, lwork, rwork, info)
 WSYSVX: uses the diagonal pivoting factorization to compute the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. Error bounds on the solution and a condition estimate are also provided.
 
pure subroutine, public la_chesv (uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info)
 CHESV: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**H, if UPLO = 'U', or A = L * D * L**H, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. The factored form of A is then used to solve the system of equations A * X = B.
 
pure subroutine, public la_zhesv (uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info)
 ZHESV: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**H, if UPLO = 'U', or A = L * D * L**H, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. The factored form of A is then used to solve the system of equations A * X = B.
 
pure subroutine, public la_whesv (uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info)
 WHESV: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**H, if UPLO = 'U', or A = L * D * L**H, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. The factored form of A is then used to solve the system of equations A * X = B.
 
pure subroutine, public la_chesv_rk (uplo, n, nrhs, a, lda, e, ipiv, b, ldb, work, lwork, info)
 CHESV_RK: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix and X and B are N-by-NRHS matrices. The bounded Bunch-Kaufman (rook) diagonal pivoting method is used to factor A as A = P*U*D*(U**H)*(P**T), if UPLO = 'U', or A = P*L*D*(L**H)*(P**T), if UPLO = 'L', where U (or L) is unit upper (or lower) triangular matrix, U**H (or L**H) is the conjugate of U (or L), P is a permutation matrix, P**T is the transpose of P, and D is Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. CHETRF_RK is called to compute the factorization of a complex Hermitian matrix. The factored form of A is then used to solve the system of equations A * X = B by calling BLAS3 routine CHETRS_3.
 
pure subroutine, public la_zhesv_rk (uplo, n, nrhs, a, lda, e, ipiv, b, ldb, work, lwork, info)
 ZHESV_RK: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix and X and B are N-by-NRHS matrices. The bounded Bunch-Kaufman (rook) diagonal pivoting method is used to factor A as A = P*U*D*(U**H)*(P**T), if UPLO = 'U', or A = P*L*D*(L**H)*(P**T), if UPLO = 'L', where U (or L) is unit upper (or lower) triangular matrix, U**H (or L**H) is the conjugate of U (or L), P is a permutation matrix, P**T is the transpose of P, and D is Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. ZHETRF_RK is called to compute the factorization of a complex Hermitian matrix. The factored form of A is then used to solve the system of equations A * X = B by calling BLAS3 routine ZHETRS_3.
 
pure subroutine, public la_whesv_rk (uplo, n, nrhs, a, lda, e, ipiv, b, ldb, work, lwork, info)
 WHESV_RK: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix and X and B are N-by-NRHS matrices. The bounded Bunch-Kaufman (rook) diagonal pivoting method is used to factor A as A = P*U*D*(U**H)*(P**T), if UPLO = 'U', or A = P*L*D*(L**H)*(P**T), if UPLO = 'L', where U (or L) is unit upper (or lower) triangular matrix, U**H (or L**H) is the conjugate of U (or L), P is a permutation matrix, P**T is the transpose of P, and D is Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. WHETRF_RK is called to compute the factorization of a complex Hermitian matrix. The factored form of A is then used to solve the system of equations A * X = B by calling BLAS3 routine WHETRS_3.
 
pure subroutine, public la_chesv_rook (uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info)
 CHESV_ROOK: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix and X and B are N-by-NRHS matrices. The bounded Bunch-Kaufman ("rook") diagonal pivoting method is used to factor A as A = U * D * U**T, if UPLO = 'U', or A = L * D * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. CHETRF_ROOK is called to compute the factorization of a complex Hermition matrix A using the bounded Bunch-Kaufman ("rook") diagonal pivoting method. The factored form of A is then used to solve the system of equations A * X = B by calling CHETRS_ROOK (uses BLAS 2).
 
pure subroutine, public la_zhesv_rook (uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info)
 ZHESV_ROOK: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix and X and B are N-by-NRHS matrices. The bounded Bunch-Kaufman ("rook") diagonal pivoting method is used to factor A as A = U * D * U**T, if UPLO = 'U', or A = L * D * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. ZHETRF_ROOK is called to compute the factorization of a complex Hermition matrix A using the bounded Bunch-Kaufman ("rook") diagonal pivoting method. The factored form of A is then used to solve the system of equations A * X = B by calling ZHETRS_ROOK (uses BLAS 2).
 
pure subroutine, public la_whesv_rook (uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info)
 WHESV_ROOK: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix and X and B are N-by-NRHS matrices. The bounded Bunch-Kaufman ("rook") diagonal pivoting method is used to factor A as A = U * D * U**T, if UPLO = 'U', or A = L * D * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. WHETRF_ROOK is called to compute the factorization of a complex Hermition matrix A using the bounded Bunch-Kaufman ("rook") diagonal pivoting method. The factored form of A is then used to solve the system of equations A * X = B by calling WHETRS_ROOK (uses BLAS 2).
 
subroutine, public la_chesvx (fact, uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, lwork, rwork, info)
 CHESVX: uses the diagonal pivoting factorization to compute the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix and X and B are N-by-NRHS matrices. Error bounds on the solution and a condition estimate are also provided.
 
subroutine, public la_zhesvx (fact, uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, lwork, rwork, info)
 ZHESVX: uses the diagonal pivoting factorization to compute the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix and X and B are N-by-NRHS matrices. Error bounds on the solution and a condition estimate are also provided.
 
subroutine, public la_whesvx (fact, uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, lwork, rwork, info)
 WHESVX: uses the diagonal pivoting factorization to compute the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix and X and B are N-by-NRHS matrices. Error bounds on the solution and a condition estimate are also provided.
 
pure subroutine, public la_chpsv (uplo, n, nrhs, ap, ipiv, b, ldb, info)
 CHPSV: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix stored in packed format and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**H, if UPLO = 'U', or A = L * D * L**H, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, D is Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. The factored form of A is then used to solve the system of equations A * X = B.
 
pure subroutine, public la_zhpsv (uplo, n, nrhs, ap, ipiv, b, ldb, info)
 ZHPSV: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix stored in packed format and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**H, if UPLO = 'U', or A = L * D * L**H, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, D is Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. The factored form of A is then used to solve the system of equations A * X = B.
 
pure subroutine, public la_whpsv (uplo, n, nrhs, ap, ipiv, b, ldb, info)
 WHPSV: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix stored in packed format and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**H, if UPLO = 'U', or A = L * D * L**H, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, D is Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. The factored form of A is then used to solve the system of equations A * X = B.
 
subroutine, public la_chpsvx (fact, uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, rwork, info)
 CHPSVX: uses the diagonal pivoting factorization A = U*D*U**H or A = L*D*L**H to compute the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix stored in packed format and X and B are N-by-NRHS matrices. Error bounds on the solution and a condition estimate are also provided.
 
subroutine, public la_zhpsvx (fact, uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, rwork, info)
 ZHPSVX: uses the diagonal pivoting factorization A = U*D*U**H or A = L*D*L**H to compute the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix stored in packed format and X and B are N-by-NRHS matrices. Error bounds on the solution and a condition estimate are also provided.
 
subroutine, public la_whpsvx (fact, uplo, n, nrhs, ap, afp, ipiv, b, ldb, x, ldx, rcond, ferr, berr, work, rwork, info)
 WHPSVX: uses the diagonal pivoting factorization A = U*D*U**H or A = L*D*L**H to compute the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix stored in packed format and X and B are N-by-NRHS matrices. Error bounds on the solution and a condition estimate are also provided.
 
pure subroutine, public la_chesv_aa (uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info)
 CHESV_AA: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix and X and B are N-by-NRHS matrices. Aasen's algorithm is used to factor A as A = U**H * T * U, if UPLO = 'U', or A = L * T * L**H, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and T is Hermitian and tridiagonal. The factored form of A is then used to solve the system of equations A * X = B.
 
pure subroutine, public la_zhesv_aa (uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info)
 ZHESV_AA: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix and X and B are N-by-NRHS matrices. Aasen's algorithm is used to factor A as A = U**H * T * U, if UPLO = 'U', or A = L * T * L**H, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and T is Hermitian and tridiagonal. The factored form of A is then used to solve the system of equations A * X = B.
 
pure subroutine, public la_whesv_aa (uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info)
 WHESV_AA: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix and X and B are N-by-NRHS matrices. Aasen's algorithm is used to factor A as A = U**H * T * U, if UPLO = 'U', or A = L * T * L**H, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and T is Hermitian and tridiagonal. The factored form of A is then used to solve the system of equations A * X = B.
 
pure subroutine, public la_csysv_aa (uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info)
 CSYSV computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. Aasen's algorithm is used to factor A as A = U**T * T * U, if UPLO = 'U', or A = L * T * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and T is symmetric tridiagonal. The factored form of A is then used to solve the system of equations A * X = B.
 
pure subroutine, public la_zsysv_aa (uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info)
 ZSYSV computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. Aasen's algorithm is used to factor A as A = U**T * T * U, if UPLO = 'U', or A = L * T * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and T is symmetric tridiagonal. The factored form of A is then used to solve the system of equations A * X = B.
 
pure subroutine, public la_wsysv_aa (uplo, n, nrhs, a, lda, ipiv, b, ldb, work, lwork, info)
 WSYSV computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. Aasen's algorithm is used to factor A as A = U**T * T * U, if UPLO = 'U', or A = L * T * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and T is symmetric tridiagonal. The factored form of A is then used to solve the system of equations A * X = B.
 

Detailed Description

Symmetric and Hermitian indefinite drivers.

Function/Subroutine Documentation

◆ la_chesv()

pure subroutine, public la_lapack_solve_ldl::la_chesv ( character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
complex(sp), dimension(lda,*), intent(inout) a,
integer(ilp), intent(in) lda,
integer(ilp), dimension(*), intent(out) ipiv,
complex(sp), dimension(ldb,*), intent(inout) b,
integer(ilp), intent(in) ldb,
complex(sp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
integer(ilp), intent(out) info )

CHESV: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**H, if UPLO = 'U', or A = L * D * L**H, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. The factored form of A is then used to solve the system of equations A * X = B.

Here is the call graph for this function:

◆ la_chesv_aa()

pure subroutine, public la_lapack_solve_ldl::la_chesv_aa ( character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
complex(sp), dimension(lda,*), intent(inout) a,
integer(ilp), intent(in) lda,
integer(ilp), dimension(*), intent(out) ipiv,
complex(sp), dimension(ldb,*), intent(inout) b,
integer(ilp), intent(in) ldb,
complex(sp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
integer(ilp), intent(out) info )

CHESV_AA: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix and X and B are N-by-NRHS matrices. Aasen's algorithm is used to factor A as A = U**H * T * U, if UPLO = 'U', or A = L * T * L**H, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and T is Hermitian and tridiagonal. The factored form of A is then used to solve the system of equations A * X = B.

Here is the call graph for this function:

◆ la_chesv_rk()

pure subroutine, public la_lapack_solve_ldl::la_chesv_rk ( character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
complex(sp), dimension(lda,*), intent(inout) a,
integer(ilp), intent(in) lda,
complex(sp), dimension(*), intent(out) e,
integer(ilp), dimension(*), intent(out) ipiv,
complex(sp), dimension(ldb,*), intent(inout) b,
integer(ilp), intent(in) ldb,
complex(sp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
integer(ilp), intent(out) info )

CHESV_RK: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix and X and B are N-by-NRHS matrices. The bounded Bunch-Kaufman (rook) diagonal pivoting method is used to factor A as A = P*U*D*(U**H)*(P**T), if UPLO = 'U', or A = P*L*D*(L**H)*(P**T), if UPLO = 'L', where U (or L) is unit upper (or lower) triangular matrix, U**H (or L**H) is the conjugate of U (or L), P is a permutation matrix, P**T is the transpose of P, and D is Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. CHETRF_RK is called to compute the factorization of a complex Hermitian matrix. The factored form of A is then used to solve the system of equations A * X = B by calling BLAS3 routine CHETRS_3.

Here is the call graph for this function:

◆ la_chesv_rook()

pure subroutine, public la_lapack_solve_ldl::la_chesv_rook ( character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
complex(sp), dimension(lda,*), intent(inout) a,
integer(ilp), intent(in) lda,
integer(ilp), dimension(*), intent(out) ipiv,
complex(sp), dimension(ldb,*), intent(inout) b,
integer(ilp), intent(in) ldb,
complex(sp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
integer(ilp), intent(out) info )

CHESV_ROOK: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix and X and B are N-by-NRHS matrices. The bounded Bunch-Kaufman ("rook") diagonal pivoting method is used to factor A as A = U * D * U**T, if UPLO = 'U', or A = L * D * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. CHETRF_ROOK is called to compute the factorization of a complex Hermition matrix A using the bounded Bunch-Kaufman ("rook") diagonal pivoting method. The factored form of A is then used to solve the system of equations A * X = B by calling CHETRS_ROOK (uses BLAS 2).

Here is the call graph for this function:

◆ la_chesvx()

subroutine, public la_lapack_solve_ldl::la_chesvx ( character, intent(in) fact,
character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
complex(sp), dimension(lda,*), intent(in) a,
integer(ilp), intent(in) lda,
complex(sp), dimension(ldaf,*), intent(inout) af,
integer(ilp), intent(in) ldaf,
integer(ilp), dimension(*), intent(inout) ipiv,
complex(sp), dimension(ldb,*), intent(in) b,
integer(ilp), intent(in) ldb,
complex(sp), dimension(ldx,*), intent(out) x,
integer(ilp), intent(in) ldx,
real(sp), intent(out) rcond,
real(sp), dimension(*), intent(out) ferr,
real(sp), dimension(*), intent(out) berr,
complex(sp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
real(sp), dimension(*), intent(out) rwork,
integer(ilp), intent(out) info )

CHESVX: uses the diagonal pivoting factorization to compute the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix and X and B are N-by-NRHS matrices. Error bounds on the solution and a condition estimate are also provided.

Here is the call graph for this function:

◆ la_chpsv()

pure subroutine, public la_lapack_solve_ldl::la_chpsv ( character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
complex(sp), dimension(*), intent(inout) ap,
integer(ilp), dimension(*), intent(out) ipiv,
complex(sp), dimension(ldb,*), intent(inout) b,
integer(ilp), intent(in) ldb,
integer(ilp), intent(out) info )

CHPSV: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix stored in packed format and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**H, if UPLO = 'U', or A = L * D * L**H, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, D is Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. The factored form of A is then used to solve the system of equations A * X = B.

Here is the call graph for this function:

◆ la_chpsvx()

subroutine, public la_lapack_solve_ldl::la_chpsvx ( character, intent(in) fact,
character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
complex(sp), dimension(*), intent(in) ap,
complex(sp), dimension(*), intent(inout) afp,
integer(ilp), dimension(*), intent(inout) ipiv,
complex(sp), dimension(ldb,*), intent(in) b,
integer(ilp), intent(in) ldb,
complex(sp), dimension(ldx,*), intent(out) x,
integer(ilp), intent(in) ldx,
real(sp), intent(out) rcond,
real(sp), dimension(*), intent(out) ferr,
real(sp), dimension(*), intent(out) berr,
complex(sp), dimension(*), intent(out) work,
real(sp), dimension(*), intent(out) rwork,
integer(ilp), intent(out) info )

CHPSVX: uses the diagonal pivoting factorization A = U*D*U**H or A = L*D*L**H to compute the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix stored in packed format and X and B are N-by-NRHS matrices. Error bounds on the solution and a condition estimate are also provided.

Here is the call graph for this function:

◆ la_cspsv()

pure subroutine, public la_lapack_solve_ldl::la_cspsv ( character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
complex(sp), dimension(*), intent(inout) ap,
integer(ilp), dimension(*), intent(out) ipiv,
complex(sp), dimension(ldb,*), intent(inout) b,
integer(ilp), intent(in) ldb,
integer(ilp), intent(out) info )

CSPSV: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix stored in packed format and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**T, if UPLO = 'U', or A = L * D * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. The factored form of A is then used to solve the system of equations A * X = B.

Here is the call graph for this function:

◆ la_cspsvx()

subroutine, public la_lapack_solve_ldl::la_cspsvx ( character, intent(in) fact,
character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
complex(sp), dimension(*), intent(in) ap,
complex(sp), dimension(*), intent(inout) afp,
integer(ilp), dimension(*), intent(inout) ipiv,
complex(sp), dimension(ldb,*), intent(in) b,
integer(ilp), intent(in) ldb,
complex(sp), dimension(ldx,*), intent(out) x,
integer(ilp), intent(in) ldx,
real(sp), intent(out) rcond,
real(sp), dimension(*), intent(out) ferr,
real(sp), dimension(*), intent(out) berr,
complex(sp), dimension(*), intent(out) work,
real(sp), dimension(*), intent(out) rwork,
integer(ilp), intent(out) info )

CSPSVX: uses the diagonal pivoting factorization A = U*D*U**T or A = L*D*L**T to compute the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix stored in packed format and X and B are N-by-NRHS matrices. Error bounds on the solution and a condition estimate are also provided.

Here is the call graph for this function:

◆ la_csysv()

pure subroutine, public la_lapack_solve_ldl::la_csysv ( character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
complex(sp), dimension(lda,*), intent(inout) a,
integer(ilp), intent(in) lda,
integer(ilp), dimension(*), intent(out) ipiv,
complex(sp), dimension(ldb,*), intent(inout) b,
integer(ilp), intent(in) ldb,
complex(sp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
integer(ilp), intent(out) info )

CSYSV: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**T, if UPLO = 'U', or A = L * D * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. The factored form of A is then used to solve the system of equations A * X = B.

Here is the call graph for this function:

◆ la_csysv_aa()

pure subroutine, public la_lapack_solve_ldl::la_csysv_aa ( character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
complex(sp), dimension(lda,*), intent(inout) a,
integer(ilp), intent(in) lda,
integer(ilp), dimension(*), intent(out) ipiv,
complex(sp), dimension(ldb,*), intent(inout) b,
integer(ilp), intent(in) ldb,
complex(sp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
integer(ilp), intent(out) info )

CSYSV computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. Aasen's algorithm is used to factor A as A = U**T * T * U, if UPLO = 'U', or A = L * T * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and T is symmetric tridiagonal. The factored form of A is then used to solve the system of equations A * X = B.

Here is the call graph for this function:

◆ la_csysv_rk()

pure subroutine, public la_lapack_solve_ldl::la_csysv_rk ( character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
complex(sp), dimension(lda,*), intent(inout) a,
integer(ilp), intent(in) lda,
complex(sp), dimension(*), intent(out) e,
integer(ilp), dimension(*), intent(out) ipiv,
complex(sp), dimension(ldb,*), intent(inout) b,
integer(ilp), intent(in) ldb,
complex(sp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
integer(ilp), intent(out) info )

CSYSV_RK: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. The bounded Bunch-Kaufman (rook) diagonal pivoting method is used to factor A as A = P*U*D*(U**T)*(P**T), if UPLO = 'U', or A = P*L*D*(L**T)*(P**T), if UPLO = 'L', where U (or L) is unit upper (or lower) triangular matrix, U**T (or L**T) is the transpose of U (or L), P is a permutation matrix, P**T is the transpose of P, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. CSYTRF_RK is called to compute the factorization of a complex symmetric matrix. The factored form of A is then used to solve the system of equations A * X = B by calling BLAS3 routine CSYTRS_3.

Here is the call graph for this function:

◆ la_csysv_rook()

pure subroutine, public la_lapack_solve_ldl::la_csysv_rook ( character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
complex(sp), dimension(lda,*), intent(inout) a,
integer(ilp), intent(in) lda,
integer(ilp), dimension(*), intent(out) ipiv,
complex(sp), dimension(ldb,*), intent(inout) b,
integer(ilp), intent(in) ldb,
complex(sp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
integer(ilp), intent(out) info )

CSYSV_ROOK: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**T, if UPLO = 'U', or A = L * D * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. CSYTRF_ROOK is called to compute the factorization of a complex symmetric matrix A using the bounded Bunch-Kaufman ("rook") diagonal pivoting method. The factored form of A is then used to solve the system of equations A * X = B by calling CSYTRS_ROOK.

Here is the call graph for this function:

◆ la_csysvx()

subroutine, public la_lapack_solve_ldl::la_csysvx ( character, intent(in) fact,
character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
complex(sp), dimension(lda,*), intent(in) a,
integer(ilp), intent(in) lda,
complex(sp), dimension(ldaf,*), intent(inout) af,
integer(ilp), intent(in) ldaf,
integer(ilp), dimension(*), intent(inout) ipiv,
complex(sp), dimension(ldb,*), intent(in) b,
integer(ilp), intent(in) ldb,
complex(sp), dimension(ldx,*), intent(out) x,
integer(ilp), intent(in) ldx,
real(sp), intent(out) rcond,
real(sp), dimension(*), intent(out) ferr,
real(sp), dimension(*), intent(out) berr,
complex(sp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
real(sp), dimension(*), intent(out) rwork,
integer(ilp), intent(out) info )

CSYSVX: uses the diagonal pivoting factorization to compute the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. Error bounds on the solution and a condition estimate are also provided.

Here is the call graph for this function:

◆ la_dspsv()

pure subroutine, public la_lapack_solve_ldl::la_dspsv ( character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
real(dp), dimension(*), intent(inout) ap,
integer(ilp), dimension(*), intent(out) ipiv,
real(dp), dimension(ldb,*), intent(inout) b,
integer(ilp), intent(in) ldb,
integer(ilp), intent(out) info )

DSPSV: computes the solution to a real system of linear equations A * X = B, where A is an N-by-N symmetric matrix stored in packed format and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**T, if UPLO = 'U', or A = L * D * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. The factored form of A is then used to solve the system of equations A * X = B.

Here is the call graph for this function:

◆ la_dspsvx()

subroutine, public la_lapack_solve_ldl::la_dspsvx ( character, intent(in) fact,
character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
real(dp), dimension(*), intent(in) ap,
real(dp), dimension(*), intent(inout) afp,
integer(ilp), dimension(*), intent(inout) ipiv,
real(dp), dimension(ldb,*), intent(in) b,
integer(ilp), intent(in) ldb,
real(dp), dimension(ldx,*), intent(out) x,
integer(ilp), intent(in) ldx,
real(dp), intent(out) rcond,
real(dp), dimension(*), intent(out) ferr,
real(dp), dimension(*), intent(out) berr,
real(dp), dimension(*), intent(out) work,
integer(ilp), dimension(*), intent(out) iwork,
integer(ilp), intent(out) info )

DSPSVX: uses the diagonal pivoting factorization A = U*D*U**T or A = L*D*L**T to compute the solution to a real system of linear equations A * X = B, where A is an N-by-N symmetric matrix stored in packed format and X and B are N-by-NRHS matrices. Error bounds on the solution and a condition estimate are also provided.

Here is the call graph for this function:

◆ la_dsysv()

pure subroutine, public la_lapack_solve_ldl::la_dsysv ( character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
real(dp), dimension(lda,*), intent(inout) a,
integer(ilp), intent(in) lda,
integer(ilp), dimension(*), intent(out) ipiv,
real(dp), dimension(ldb,*), intent(inout) b,
integer(ilp), intent(in) ldb,
real(dp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
integer(ilp), intent(out) info )

DSYSV: computes the solution to a real system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**T, if UPLO = 'U', or A = L * D * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. The factored form of A is then used to solve the system of equations A * X = B.

Here is the call graph for this function:

◆ la_dsysv_aa()

pure subroutine, public la_lapack_solve_ldl::la_dsysv_aa ( character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
real(dp), dimension(lda,*), intent(inout) a,
integer(ilp), intent(in) lda,
integer(ilp), dimension(*), intent(out) ipiv,
real(dp), dimension(ldb,*), intent(inout) b,
integer(ilp), intent(in) ldb,
real(dp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
integer(ilp), intent(out) info )

DSYSV computes the solution to a real system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. Aasen's algorithm is used to factor A as A = U**T * T * U, if UPLO = 'U', or A = L * T * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and T is symmetric tridiagonal. The factored form of A is then used to solve the system of equations A * X = B.

Here is the call graph for this function:

◆ la_dsysv_rk()

pure subroutine, public la_lapack_solve_ldl::la_dsysv_rk ( character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
real(dp), dimension(lda,*), intent(inout) a,
integer(ilp), intent(in) lda,
real(dp), dimension(*), intent(out) e,
integer(ilp), dimension(*), intent(out) ipiv,
real(dp), dimension(ldb,*), intent(inout) b,
integer(ilp), intent(in) ldb,
real(dp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
integer(ilp), intent(out) info )

DSYSV_RK: computes the solution to a real system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. The bounded Bunch-Kaufman (rook) diagonal pivoting method is used to factor A as A = P*U*D*(U**T)*(P**T), if UPLO = 'U', or A = P*L*D*(L**T)*(P**T), if UPLO = 'L', where U (or L) is unit upper (or lower) triangular matrix, U**T (or L**T) is the transpose of U (or L), P is a permutation matrix, P**T is the transpose of P, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. DSYTRF_RK is called to compute the factorization of a real symmetric matrix. The factored form of A is then used to solve the system of equations A * X = B by calling BLAS3 routine DSYTRS_3.

Here is the call graph for this function:

◆ la_dsysv_rook()

pure subroutine, public la_lapack_solve_ldl::la_dsysv_rook ( character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
real(dp), dimension(lda,*), intent(inout) a,
integer(ilp), intent(in) lda,
integer(ilp), dimension(*), intent(out) ipiv,
real(dp), dimension(ldb,*), intent(inout) b,
integer(ilp), intent(in) ldb,
real(dp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
integer(ilp), intent(out) info )

DSYSV_ROOK: computes the solution to a real system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**T, if UPLO = 'U', or A = L * D * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. DSYTRF_ROOK is called to compute the factorization of a real symmetric matrix A using the bounded Bunch-Kaufman ("rook") diagonal pivoting method. The factored form of A is then used to solve the system of equations A * X = B by calling DSYTRS_ROOK.

Here is the call graph for this function:

◆ la_dsysvx()

subroutine, public la_lapack_solve_ldl::la_dsysvx ( character, intent(in) fact,
character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
real(dp), dimension(lda,*), intent(in) a,
integer(ilp), intent(in) lda,
real(dp), dimension(ldaf,*), intent(inout) af,
integer(ilp), intent(in) ldaf,
integer(ilp), dimension(*), intent(inout) ipiv,
real(dp), dimension(ldb,*), intent(in) b,
integer(ilp), intent(in) ldb,
real(dp), dimension(ldx,*), intent(out) x,
integer(ilp), intent(in) ldx,
real(dp), intent(out) rcond,
real(dp), dimension(*), intent(out) ferr,
real(dp), dimension(*), intent(out) berr,
real(dp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
integer(ilp), dimension(*), intent(out) iwork,
integer(ilp), intent(out) info )

DSYSVX: uses the diagonal pivoting factorization to compute the solution to a real system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. Error bounds on the solution and a condition estimate are also provided.

Here is the call graph for this function:

◆ la_qspsv()

pure subroutine, public la_lapack_solve_ldl::la_qspsv ( character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
real(qp), dimension(*), intent(inout) ap,
integer(ilp), dimension(*), intent(out) ipiv,
real(qp), dimension(ldb,*), intent(inout) b,
integer(ilp), intent(in) ldb,
integer(ilp), intent(out) info )

QSPSV: computes the solution to a real system of linear equations A * X = B, where A is an N-by-N symmetric matrix stored in packed format and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**T, if UPLO = 'U', or A = L * D * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. The factored form of A is then used to solve the system of equations A * X = B.

Here is the call graph for this function:

◆ la_qspsvx()

subroutine, public la_lapack_solve_ldl::la_qspsvx ( character, intent(in) fact,
character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
real(qp), dimension(*), intent(in) ap,
real(qp), dimension(*), intent(inout) afp,
integer(ilp), dimension(*), intent(inout) ipiv,
real(qp), dimension(ldb,*), intent(in) b,
integer(ilp), intent(in) ldb,
real(qp), dimension(ldx,*), intent(out) x,
integer(ilp), intent(in) ldx,
real(qp), intent(out) rcond,
real(qp), dimension(*), intent(out) ferr,
real(qp), dimension(*), intent(out) berr,
real(qp), dimension(*), intent(out) work,
integer(ilp), dimension(*), intent(out) iwork,
integer(ilp), intent(out) info )

QSPSVX: uses the diagonal pivoting factorization A = U*D*U**T or A = L*D*L**T to compute the solution to a real system of linear equations A * X = B, where A is an N-by-N symmetric matrix stored in packed format and X and B are N-by-NRHS matrices. Error bounds on the solution and a condition estimate are also provided.

Here is the call graph for this function:

◆ la_qsysv()

pure subroutine, public la_lapack_solve_ldl::la_qsysv ( character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
real(qp), dimension(lda,*), intent(inout) a,
integer(ilp), intent(in) lda,
integer(ilp), dimension(*), intent(out) ipiv,
real(qp), dimension(ldb,*), intent(inout) b,
integer(ilp), intent(in) ldb,
real(qp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
integer(ilp), intent(out) info )

QSYSV: computes the solution to a real system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**T, if UPLO = 'U', or A = L * D * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. The factored form of A is then used to solve the system of equations A * X = B.

Here is the call graph for this function:

◆ la_qsysv_aa()

pure subroutine, public la_lapack_solve_ldl::la_qsysv_aa ( character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
real(qp), dimension(lda,*), intent(inout) a,
integer(ilp), intent(in) lda,
integer(ilp), dimension(*), intent(out) ipiv,
real(qp), dimension(ldb,*), intent(inout) b,
integer(ilp), intent(in) ldb,
real(qp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
integer(ilp), intent(out) info )

QSYSV computes the solution to a real system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. Aasen's algorithm is used to factor A as A = U**T * T * U, if UPLO = 'U', or A = L * T * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and T is symmetric tridiagonal. The factored form of A is then used to solve the system of equations A * X = B.

Here is the call graph for this function:

◆ la_qsysv_rk()

pure subroutine, public la_lapack_solve_ldl::la_qsysv_rk ( character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
real(qp), dimension(lda,*), intent(inout) a,
integer(ilp), intent(in) lda,
real(qp), dimension(*), intent(out) e,
integer(ilp), dimension(*), intent(out) ipiv,
real(qp), dimension(ldb,*), intent(inout) b,
integer(ilp), intent(in) ldb,
real(qp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
integer(ilp), intent(out) info )

QSYSV_RK: computes the solution to a real system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. The bounded Bunch-Kaufman (rook) diagonal pivoting method is used to factor A as A = P*U*D*(U**T)*(P**T), if UPLO = 'U', or A = P*L*D*(L**T)*(P**T), if UPLO = 'L', where U (or L) is unit upper (or lower) triangular matrix, U**T (or L**T) is the transpose of U (or L), P is a permutation matrix, P**T is the transpose of P, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. QSYTRF_RK is called to compute the factorization of a real symmetric matrix. The factored form of A is then used to solve the system of equations A * X = B by calling BLAS3 routine QSYTRS_3.

Here is the call graph for this function:

◆ la_qsysv_rook()

pure subroutine, public la_lapack_solve_ldl::la_qsysv_rook ( character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
real(qp), dimension(lda,*), intent(inout) a,
integer(ilp), intent(in) lda,
integer(ilp), dimension(*), intent(out) ipiv,
real(qp), dimension(ldb,*), intent(inout) b,
integer(ilp), intent(in) ldb,
real(qp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
integer(ilp), intent(out) info )

QSYSV_ROOK: computes the solution to a real system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**T, if UPLO = 'U', or A = L * D * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. QSYTRF_ROOK is called to compute the factorization of a real symmetric matrix A using the bounded Bunch-Kaufman ("rook") diagonal pivoting method. The factored form of A is then used to solve the system of equations A * X = B by calling QSYTRS_ROOK.

Here is the call graph for this function:

◆ la_qsysvx()

subroutine, public la_lapack_solve_ldl::la_qsysvx ( character, intent(in) fact,
character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
real(qp), dimension(lda,*), intent(in) a,
integer(ilp), intent(in) lda,
real(qp), dimension(ldaf,*), intent(inout) af,
integer(ilp), intent(in) ldaf,
integer(ilp), dimension(*), intent(inout) ipiv,
real(qp), dimension(ldb,*), intent(in) b,
integer(ilp), intent(in) ldb,
real(qp), dimension(ldx,*), intent(out) x,
integer(ilp), intent(in) ldx,
real(qp), intent(out) rcond,
real(qp), dimension(*), intent(out) ferr,
real(qp), dimension(*), intent(out) berr,
real(qp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
integer(ilp), dimension(*), intent(out) iwork,
integer(ilp), intent(out) info )

QSYSVX: uses the diagonal pivoting factorization to compute the solution to a real system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. Error bounds on the solution and a condition estimate are also provided.

Here is the call graph for this function:

◆ la_sspsv()

pure subroutine, public la_lapack_solve_ldl::la_sspsv ( character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
real(sp), dimension(*), intent(inout) ap,
integer(ilp), dimension(*), intent(out) ipiv,
real(sp), dimension(ldb,*), intent(inout) b,
integer(ilp), intent(in) ldb,
integer(ilp), intent(out) info )

SSPSV: computes the solution to a real system of linear equations A * X = B, where A is an N-by-N symmetric matrix stored in packed format and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**T, if UPLO = 'U', or A = L * D * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. The factored form of A is then used to solve the system of equations A * X = B.

Here is the call graph for this function:

◆ la_sspsvx()

subroutine, public la_lapack_solve_ldl::la_sspsvx ( character, intent(in) fact,
character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
real(sp), dimension(*), intent(in) ap,
real(sp), dimension(*), intent(inout) afp,
integer(ilp), dimension(*), intent(inout) ipiv,
real(sp), dimension(ldb,*), intent(in) b,
integer(ilp), intent(in) ldb,
real(sp), dimension(ldx,*), intent(out) x,
integer(ilp), intent(in) ldx,
real(sp), intent(out) rcond,
real(sp), dimension(*), intent(out) ferr,
real(sp), dimension(*), intent(out) berr,
real(sp), dimension(*), intent(out) work,
integer(ilp), dimension(*), intent(out) iwork,
integer(ilp), intent(out) info )

SSPSVX: uses the diagonal pivoting factorization A = U*D*U**T or A = L*D*L**T to compute the solution to a real system of linear equations A * X = B, where A is an N-by-N symmetric matrix stored in packed format and X and B are N-by-NRHS matrices. Error bounds on the solution and a condition estimate are also provided.

Here is the call graph for this function:

◆ la_ssysv()

pure subroutine, public la_lapack_solve_ldl::la_ssysv ( character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
real(sp), dimension(lda,*), intent(inout) a,
integer(ilp), intent(in) lda,
integer(ilp), dimension(*), intent(out) ipiv,
real(sp), dimension(ldb,*), intent(inout) b,
integer(ilp), intent(in) ldb,
real(sp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
integer(ilp), intent(out) info )

SSYSV: computes the solution to a real system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**T, if UPLO = 'U', or A = L * D * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. The factored form of A is then used to solve the system of equations A * X = B.

Here is the call graph for this function:

◆ la_ssysv_aa()

pure subroutine, public la_lapack_solve_ldl::la_ssysv_aa ( character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
real(sp), dimension(lda,*), intent(inout) a,
integer(ilp), intent(in) lda,
integer(ilp), dimension(*), intent(out) ipiv,
real(sp), dimension(ldb,*), intent(inout) b,
integer(ilp), intent(in) ldb,
real(sp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
integer(ilp), intent(out) info )

SSYSV computes the solution to a real system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. Aasen's algorithm is used to factor A as A = U**T * T * U, if UPLO = 'U', or A = L * T * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and T is symmetric tridiagonal. The factored form of A is then used to solve the system of equations A * X = B.

Here is the call graph for this function:

◆ la_ssysv_rk()

pure subroutine, public la_lapack_solve_ldl::la_ssysv_rk ( character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
real(sp), dimension(lda,*), intent(inout) a,
integer(ilp), intent(in) lda,
real(sp), dimension(*), intent(out) e,
integer(ilp), dimension(*), intent(out) ipiv,
real(sp), dimension(ldb,*), intent(inout) b,
integer(ilp), intent(in) ldb,
real(sp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
integer(ilp), intent(out) info )

SSYSV_RK: computes the solution to a real system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. The bounded Bunch-Kaufman (rook) diagonal pivoting method is used to factor A as A = P*U*D*(U**T)*(P**T), if UPLO = 'U', or A = P*L*D*(L**T)*(P**T), if UPLO = 'L', where U (or L) is unit upper (or lower) triangular matrix, U**T (or L**T) is the transpose of U (or L), P is a permutation matrix, P**T is the transpose of P, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. SSYTRF_RK is called to compute the factorization of a real symmetric matrix. The factored form of A is then used to solve the system of equations A * X = B by calling BLAS3 routine SSYTRS_3.

Here is the call graph for this function:

◆ la_ssysv_rook()

pure subroutine, public la_lapack_solve_ldl::la_ssysv_rook ( character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
real(sp), dimension(lda,*), intent(inout) a,
integer(ilp), intent(in) lda,
integer(ilp), dimension(*), intent(out) ipiv,
real(sp), dimension(ldb,*), intent(inout) b,
integer(ilp), intent(in) ldb,
real(sp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
integer(ilp), intent(out) info )

SSYSV_ROOK: computes the solution to a real system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**T, if UPLO = 'U', or A = L * D * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. SSYTRF_ROOK is called to compute the factorization of a real symmetric matrix A using the bounded Bunch-Kaufman ("rook") diagonal pivoting method. The factored form of A is then used to solve the system of equations A * X = B by calling SSYTRS_ROOK.

Here is the call graph for this function:

◆ la_ssysvx()

subroutine, public la_lapack_solve_ldl::la_ssysvx ( character, intent(in) fact,
character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
real(sp), dimension(lda,*), intent(in) a,
integer(ilp), intent(in) lda,
real(sp), dimension(ldaf,*), intent(inout) af,
integer(ilp), intent(in) ldaf,
integer(ilp), dimension(*), intent(inout) ipiv,
real(sp), dimension(ldb,*), intent(in) b,
integer(ilp), intent(in) ldb,
real(sp), dimension(ldx,*), intent(out) x,
integer(ilp), intent(in) ldx,
real(sp), intent(out) rcond,
real(sp), dimension(*), intent(out) ferr,
real(sp), dimension(*), intent(out) berr,
real(sp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
integer(ilp), dimension(*), intent(out) iwork,
integer(ilp), intent(out) info )

SSYSVX: uses the diagonal pivoting factorization to compute the solution to a real system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. Error bounds on the solution and a condition estimate are also provided.

Here is the call graph for this function:

◆ la_whesv()

pure subroutine, public la_lapack_solve_ldl::la_whesv ( character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
complex(qp), dimension(lda,*), intent(inout) a,
integer(ilp), intent(in) lda,
integer(ilp), dimension(*), intent(out) ipiv,
complex(qp), dimension(ldb,*), intent(inout) b,
integer(ilp), intent(in) ldb,
complex(qp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
integer(ilp), intent(out) info )

WHESV: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**H, if UPLO = 'U', or A = L * D * L**H, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. The factored form of A is then used to solve the system of equations A * X = B.

Here is the call graph for this function:

◆ la_whesv_aa()

pure subroutine, public la_lapack_solve_ldl::la_whesv_aa ( character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
complex(qp), dimension(lda,*), intent(inout) a,
integer(ilp), intent(in) lda,
integer(ilp), dimension(*), intent(out) ipiv,
complex(qp), dimension(ldb,*), intent(inout) b,
integer(ilp), intent(in) ldb,
complex(qp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
integer(ilp), intent(out) info )

WHESV_AA: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix and X and B are N-by-NRHS matrices. Aasen's algorithm is used to factor A as A = U**H * T * U, if UPLO = 'U', or A = L * T * L**H, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and T is Hermitian and tridiagonal. The factored form of A is then used to solve the system of equations A * X = B.

Here is the call graph for this function:

◆ la_whesv_rk()

pure subroutine, public la_lapack_solve_ldl::la_whesv_rk ( character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
complex(qp), dimension(lda,*), intent(inout) a,
integer(ilp), intent(in) lda,
complex(qp), dimension(*), intent(out) e,
integer(ilp), dimension(*), intent(out) ipiv,
complex(qp), dimension(ldb,*), intent(inout) b,
integer(ilp), intent(in) ldb,
complex(qp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
integer(ilp), intent(out) info )

WHESV_RK: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix and X and B are N-by-NRHS matrices. The bounded Bunch-Kaufman (rook) diagonal pivoting method is used to factor A as A = P*U*D*(U**H)*(P**T), if UPLO = 'U', or A = P*L*D*(L**H)*(P**T), if UPLO = 'L', where U (or L) is unit upper (or lower) triangular matrix, U**H (or L**H) is the conjugate of U (or L), P is a permutation matrix, P**T is the transpose of P, and D is Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. WHETRF_RK is called to compute the factorization of a complex Hermitian matrix. The factored form of A is then used to solve the system of equations A * X = B by calling BLAS3 routine WHETRS_3.

Here is the call graph for this function:

◆ la_whesv_rook()

pure subroutine, public la_lapack_solve_ldl::la_whesv_rook ( character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
complex(qp), dimension(lda,*), intent(inout) a,
integer(ilp), intent(in) lda,
integer(ilp), dimension(*), intent(out) ipiv,
complex(qp), dimension(ldb,*), intent(inout) b,
integer(ilp), intent(in) ldb,
complex(qp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
integer(ilp), intent(out) info )

WHESV_ROOK: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix and X and B are N-by-NRHS matrices. The bounded Bunch-Kaufman ("rook") diagonal pivoting method is used to factor A as A = U * D * U**T, if UPLO = 'U', or A = L * D * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. WHETRF_ROOK is called to compute the factorization of a complex Hermition matrix A using the bounded Bunch-Kaufman ("rook") diagonal pivoting method. The factored form of A is then used to solve the system of equations A * X = B by calling WHETRS_ROOK (uses BLAS 2).

Here is the call graph for this function:

◆ la_whesvx()

subroutine, public la_lapack_solve_ldl::la_whesvx ( character, intent(in) fact,
character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
complex(qp), dimension(lda,*), intent(in) a,
integer(ilp), intent(in) lda,
complex(qp), dimension(ldaf,*), intent(inout) af,
integer(ilp), intent(in) ldaf,
integer(ilp), dimension(*), intent(inout) ipiv,
complex(qp), dimension(ldb,*), intent(in) b,
integer(ilp), intent(in) ldb,
complex(qp), dimension(ldx,*), intent(out) x,
integer(ilp), intent(in) ldx,
real(qp), intent(out) rcond,
real(qp), dimension(*), intent(out) ferr,
real(qp), dimension(*), intent(out) berr,
complex(qp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
real(qp), dimension(*), intent(out) rwork,
integer(ilp), intent(out) info )

WHESVX: uses the diagonal pivoting factorization to compute the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix and X and B are N-by-NRHS matrices. Error bounds on the solution and a condition estimate are also provided.

Here is the call graph for this function:

◆ la_whpsv()

pure subroutine, public la_lapack_solve_ldl::la_whpsv ( character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
complex(qp), dimension(*), intent(inout) ap,
integer(ilp), dimension(*), intent(out) ipiv,
complex(qp), dimension(ldb,*), intent(inout) b,
integer(ilp), intent(in) ldb,
integer(ilp), intent(out) info )

WHPSV: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix stored in packed format and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**H, if UPLO = 'U', or A = L * D * L**H, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, D is Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. The factored form of A is then used to solve the system of equations A * X = B.

Here is the call graph for this function:

◆ la_whpsvx()

subroutine, public la_lapack_solve_ldl::la_whpsvx ( character, intent(in) fact,
character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
complex(qp), dimension(*), intent(in) ap,
complex(qp), dimension(*), intent(inout) afp,
integer(ilp), dimension(*), intent(inout) ipiv,
complex(qp), dimension(ldb,*), intent(in) b,
integer(ilp), intent(in) ldb,
complex(qp), dimension(ldx,*), intent(out) x,
integer(ilp), intent(in) ldx,
real(qp), intent(out) rcond,
real(qp), dimension(*), intent(out) ferr,
real(qp), dimension(*), intent(out) berr,
complex(qp), dimension(*), intent(out) work,
real(qp), dimension(*), intent(out) rwork,
integer(ilp), intent(out) info )

WHPSVX: uses the diagonal pivoting factorization A = U*D*U**H or A = L*D*L**H to compute the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix stored in packed format and X and B are N-by-NRHS matrices. Error bounds on the solution and a condition estimate are also provided.

Here is the call graph for this function:

◆ la_wspsv()

pure subroutine, public la_lapack_solve_ldl::la_wspsv ( character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
complex(qp), dimension(*), intent(inout) ap,
integer(ilp), dimension(*), intent(out) ipiv,
complex(qp), dimension(ldb,*), intent(inout) b,
integer(ilp), intent(in) ldb,
integer(ilp), intent(out) info )

WSPSV: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix stored in packed format and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**T, if UPLO = 'U', or A = L * D * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. The factored form of A is then used to solve the system of equations A * X = B.

Here is the call graph for this function:

◆ la_wspsvx()

subroutine, public la_lapack_solve_ldl::la_wspsvx ( character, intent(in) fact,
character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
complex(qp), dimension(*), intent(in) ap,
complex(qp), dimension(*), intent(inout) afp,
integer(ilp), dimension(*), intent(inout) ipiv,
complex(qp), dimension(ldb,*), intent(in) b,
integer(ilp), intent(in) ldb,
complex(qp), dimension(ldx,*), intent(out) x,
integer(ilp), intent(in) ldx,
real(qp), intent(out) rcond,
real(qp), dimension(*), intent(out) ferr,
real(qp), dimension(*), intent(out) berr,
complex(qp), dimension(*), intent(out) work,
real(qp), dimension(*), intent(out) rwork,
integer(ilp), intent(out) info )

WSPSVX: uses the diagonal pivoting factorization A = U*D*U**T or A = L*D*L**T to compute the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix stored in packed format and X and B are N-by-NRHS matrices. Error bounds on the solution and a condition estimate are also provided.

Here is the call graph for this function:

◆ la_wsysv()

pure subroutine, public la_lapack_solve_ldl::la_wsysv ( character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
complex(qp), dimension(lda,*), intent(inout) a,
integer(ilp), intent(in) lda,
integer(ilp), dimension(*), intent(out) ipiv,
complex(qp), dimension(ldb,*), intent(inout) b,
integer(ilp), intent(in) ldb,
complex(qp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
integer(ilp), intent(out) info )

WSYSV: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**T, if UPLO = 'U', or A = L * D * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. The factored form of A is then used to solve the system of equations A * X = B.

Here is the call graph for this function:

◆ la_wsysv_aa()

pure subroutine, public la_lapack_solve_ldl::la_wsysv_aa ( character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
complex(qp), dimension(lda,*), intent(inout) a,
integer(ilp), intent(in) lda,
integer(ilp), dimension(*), intent(out) ipiv,
complex(qp), dimension(ldb,*), intent(inout) b,
integer(ilp), intent(in) ldb,
complex(qp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
integer(ilp), intent(out) info )

WSYSV computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. Aasen's algorithm is used to factor A as A = U**T * T * U, if UPLO = 'U', or A = L * T * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and T is symmetric tridiagonal. The factored form of A is then used to solve the system of equations A * X = B.

Here is the call graph for this function:

◆ la_wsysv_rk()

pure subroutine, public la_lapack_solve_ldl::la_wsysv_rk ( character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
complex(qp), dimension(lda,*), intent(inout) a,
integer(ilp), intent(in) lda,
complex(qp), dimension(*), intent(out) e,
integer(ilp), dimension(*), intent(out) ipiv,
complex(qp), dimension(ldb,*), intent(inout) b,
integer(ilp), intent(in) ldb,
complex(qp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
integer(ilp), intent(out) info )

WSYSV_RK: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. The bounded Bunch-Kaufman (rook) diagonal pivoting method is used to factor A as A = P*U*D*(U**T)*(P**T), if UPLO = 'U', or A = P*L*D*(L**T)*(P**T), if UPLO = 'L', where U (or L) is unit upper (or lower) triangular matrix, U**T (or L**T) is the transpose of U (or L), P is a permutation matrix, P**T is the transpose of P, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. WSYTRF_RK is called to compute the factorization of a complex symmetric matrix. The factored form of A is then used to solve the system of equations A * X = B by calling BLAS3 routine WSYTRS_3.

Here is the call graph for this function:

◆ la_wsysv_rook()

pure subroutine, public la_lapack_solve_ldl::la_wsysv_rook ( character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
complex(qp), dimension(lda,*), intent(inout) a,
integer(ilp), intent(in) lda,
integer(ilp), dimension(*), intent(out) ipiv,
complex(qp), dimension(ldb,*), intent(inout) b,
integer(ilp), intent(in) ldb,
complex(qp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
integer(ilp), intent(out) info )

WSYSV_ROOK: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**T, if UPLO = 'U', or A = L * D * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. WSYTRF_ROOK is called to compute the factorization of a complex symmetric matrix A using the bounded Bunch-Kaufman ("rook") diagonal pivoting method. The factored form of A is then used to solve the system of equations A * X = B by calling WSYTRS_ROOK.

Here is the call graph for this function:

◆ la_wsysvx()

subroutine, public la_lapack_solve_ldl::la_wsysvx ( character, intent(in) fact,
character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
complex(qp), dimension(lda,*), intent(in) a,
integer(ilp), intent(in) lda,
complex(qp), dimension(ldaf,*), intent(inout) af,
integer(ilp), intent(in) ldaf,
integer(ilp), dimension(*), intent(inout) ipiv,
complex(qp), dimension(ldb,*), intent(in) b,
integer(ilp), intent(in) ldb,
complex(qp), dimension(ldx,*), intent(out) x,
integer(ilp), intent(in) ldx,
real(qp), intent(out) rcond,
real(qp), dimension(*), intent(out) ferr,
real(qp), dimension(*), intent(out) berr,
complex(qp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
real(qp), dimension(*), intent(out) rwork,
integer(ilp), intent(out) info )

WSYSVX: uses the diagonal pivoting factorization to compute the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. Error bounds on the solution and a condition estimate are also provided.

Here is the call graph for this function:

◆ la_zhesv()

pure subroutine, public la_lapack_solve_ldl::la_zhesv ( character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
complex(dp), dimension(lda,*), intent(inout) a,
integer(ilp), intent(in) lda,
integer(ilp), dimension(*), intent(out) ipiv,
complex(dp), dimension(ldb,*), intent(inout) b,
integer(ilp), intent(in) ldb,
complex(dp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
integer(ilp), intent(out) info )

ZHESV: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**H, if UPLO = 'U', or A = L * D * L**H, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. The factored form of A is then used to solve the system of equations A * X = B.

Here is the call graph for this function:

◆ la_zhesv_aa()

pure subroutine, public la_lapack_solve_ldl::la_zhesv_aa ( character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
complex(dp), dimension(lda,*), intent(inout) a,
integer(ilp), intent(in) lda,
integer(ilp), dimension(*), intent(out) ipiv,
complex(dp), dimension(ldb,*), intent(inout) b,
integer(ilp), intent(in) ldb,
complex(dp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
integer(ilp), intent(out) info )

ZHESV_AA: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix and X and B are N-by-NRHS matrices. Aasen's algorithm is used to factor A as A = U**H * T * U, if UPLO = 'U', or A = L * T * L**H, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and T is Hermitian and tridiagonal. The factored form of A is then used to solve the system of equations A * X = B.

Here is the call graph for this function:

◆ la_zhesv_rk()

pure subroutine, public la_lapack_solve_ldl::la_zhesv_rk ( character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
complex(dp), dimension(lda,*), intent(inout) a,
integer(ilp), intent(in) lda,
complex(dp), dimension(*), intent(out) e,
integer(ilp), dimension(*), intent(out) ipiv,
complex(dp), dimension(ldb,*), intent(inout) b,
integer(ilp), intent(in) ldb,
complex(dp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
integer(ilp), intent(out) info )

ZHESV_RK: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix and X and B are N-by-NRHS matrices. The bounded Bunch-Kaufman (rook) diagonal pivoting method is used to factor A as A = P*U*D*(U**H)*(P**T), if UPLO = 'U', or A = P*L*D*(L**H)*(P**T), if UPLO = 'L', where U (or L) is unit upper (or lower) triangular matrix, U**H (or L**H) is the conjugate of U (or L), P is a permutation matrix, P**T is the transpose of P, and D is Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. ZHETRF_RK is called to compute the factorization of a complex Hermitian matrix. The factored form of A is then used to solve the system of equations A * X = B by calling BLAS3 routine ZHETRS_3.

Here is the call graph for this function:

◆ la_zhesv_rook()

pure subroutine, public la_lapack_solve_ldl::la_zhesv_rook ( character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
complex(dp), dimension(lda,*), intent(inout) a,
integer(ilp), intent(in) lda,
integer(ilp), dimension(*), intent(out) ipiv,
complex(dp), dimension(ldb,*), intent(inout) b,
integer(ilp), intent(in) ldb,
complex(dp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
integer(ilp), intent(out) info )

ZHESV_ROOK: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix and X and B are N-by-NRHS matrices. The bounded Bunch-Kaufman ("rook") diagonal pivoting method is used to factor A as A = U * D * U**T, if UPLO = 'U', or A = L * D * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. ZHETRF_ROOK is called to compute the factorization of a complex Hermition matrix A using the bounded Bunch-Kaufman ("rook") diagonal pivoting method. The factored form of A is then used to solve the system of equations A * X = B by calling ZHETRS_ROOK (uses BLAS 2).

Here is the call graph for this function:

◆ la_zhesvx()

subroutine, public la_lapack_solve_ldl::la_zhesvx ( character, intent(in) fact,
character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
complex(dp), dimension(lda,*), intent(in) a,
integer(ilp), intent(in) lda,
complex(dp), dimension(ldaf,*), intent(inout) af,
integer(ilp), intent(in) ldaf,
integer(ilp), dimension(*), intent(inout) ipiv,
complex(dp), dimension(ldb,*), intent(in) b,
integer(ilp), intent(in) ldb,
complex(dp), dimension(ldx,*), intent(out) x,
integer(ilp), intent(in) ldx,
real(dp), intent(out) rcond,
real(dp), dimension(*), intent(out) ferr,
real(dp), dimension(*), intent(out) berr,
complex(dp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
real(dp), dimension(*), intent(out) rwork,
integer(ilp), intent(out) info )

ZHESVX: uses the diagonal pivoting factorization to compute the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix and X and B are N-by-NRHS matrices. Error bounds on the solution and a condition estimate are also provided.

Here is the call graph for this function:

◆ la_zhpsv()

pure subroutine, public la_lapack_solve_ldl::la_zhpsv ( character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
complex(dp), dimension(*), intent(inout) ap,
integer(ilp), dimension(*), intent(out) ipiv,
complex(dp), dimension(ldb,*), intent(inout) b,
integer(ilp), intent(in) ldb,
integer(ilp), intent(out) info )

ZHPSV: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix stored in packed format and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**H, if UPLO = 'U', or A = L * D * L**H, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, D is Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. The factored form of A is then used to solve the system of equations A * X = B.

Here is the call graph for this function:

◆ la_zhpsvx()

subroutine, public la_lapack_solve_ldl::la_zhpsvx ( character, intent(in) fact,
character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
complex(dp), dimension(*), intent(in) ap,
complex(dp), dimension(*), intent(inout) afp,
integer(ilp), dimension(*), intent(inout) ipiv,
complex(dp), dimension(ldb,*), intent(in) b,
integer(ilp), intent(in) ldb,
complex(dp), dimension(ldx,*), intent(out) x,
integer(ilp), intent(in) ldx,
real(dp), intent(out) rcond,
real(dp), dimension(*), intent(out) ferr,
real(dp), dimension(*), intent(out) berr,
complex(dp), dimension(*), intent(out) work,
real(dp), dimension(*), intent(out) rwork,
integer(ilp), intent(out) info )

ZHPSVX: uses the diagonal pivoting factorization A = U*D*U**H or A = L*D*L**H to compute the solution to a complex system of linear equations A * X = B, where A is an N-by-N Hermitian matrix stored in packed format and X and B are N-by-NRHS matrices. Error bounds on the solution and a condition estimate are also provided.

Here is the call graph for this function:

◆ la_zspsv()

pure subroutine, public la_lapack_solve_ldl::la_zspsv ( character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
complex(dp), dimension(*), intent(inout) ap,
integer(ilp), dimension(*), intent(out) ipiv,
complex(dp), dimension(ldb,*), intent(inout) b,
integer(ilp), intent(in) ldb,
integer(ilp), intent(out) info )

ZSPSV: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix stored in packed format and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**T, if UPLO = 'U', or A = L * D * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. The factored form of A is then used to solve the system of equations A * X = B.

Here is the call graph for this function:

◆ la_zspsvx()

subroutine, public la_lapack_solve_ldl::la_zspsvx ( character, intent(in) fact,
character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
complex(dp), dimension(*), intent(in) ap,
complex(dp), dimension(*), intent(inout) afp,
integer(ilp), dimension(*), intent(inout) ipiv,
complex(dp), dimension(ldb,*), intent(in) b,
integer(ilp), intent(in) ldb,
complex(dp), dimension(ldx,*), intent(out) x,
integer(ilp), intent(in) ldx,
real(dp), intent(out) rcond,
real(dp), dimension(*), intent(out) ferr,
real(dp), dimension(*), intent(out) berr,
complex(dp), dimension(*), intent(out) work,
real(dp), dimension(*), intent(out) rwork,
integer(ilp), intent(out) info )

ZSPSVX: uses the diagonal pivoting factorization A = U*D*U**T or A = L*D*L**T to compute the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix stored in packed format and X and B are N-by-NRHS matrices. Error bounds on the solution and a condition estimate are also provided.

Here is the call graph for this function:

◆ la_zsysv()

pure subroutine, public la_lapack_solve_ldl::la_zsysv ( character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
complex(dp), dimension(lda,*), intent(inout) a,
integer(ilp), intent(in) lda,
integer(ilp), dimension(*), intent(out) ipiv,
complex(dp), dimension(ldb,*), intent(inout) b,
integer(ilp), intent(in) ldb,
complex(dp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
integer(ilp), intent(out) info )

ZSYSV: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**T, if UPLO = 'U', or A = L * D * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. The factored form of A is then used to solve the system of equations A * X = B.

Here is the call graph for this function:

◆ la_zsysv_aa()

pure subroutine, public la_lapack_solve_ldl::la_zsysv_aa ( character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
complex(dp), dimension(lda,*), intent(inout) a,
integer(ilp), intent(in) lda,
integer(ilp), dimension(*), intent(out) ipiv,
complex(dp), dimension(ldb,*), intent(inout) b,
integer(ilp), intent(in) ldb,
complex(dp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
integer(ilp), intent(out) info )

ZSYSV computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. Aasen's algorithm is used to factor A as A = U**T * T * U, if UPLO = 'U', or A = L * T * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and T is symmetric tridiagonal. The factored form of A is then used to solve the system of equations A * X = B.

Here is the call graph for this function:

◆ la_zsysv_rk()

pure subroutine, public la_lapack_solve_ldl::la_zsysv_rk ( character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
complex(dp), dimension(lda,*), intent(inout) a,
integer(ilp), intent(in) lda,
complex(dp), dimension(*), intent(out) e,
integer(ilp), dimension(*), intent(out) ipiv,
complex(dp), dimension(ldb,*), intent(inout) b,
integer(ilp), intent(in) ldb,
complex(dp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
integer(ilp), intent(out) info )

ZSYSV_RK: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. The bounded Bunch-Kaufman (rook) diagonal pivoting method is used to factor A as A = P*U*D*(U**T)*(P**T), if UPLO = 'U', or A = P*L*D*(L**T)*(P**T), if UPLO = 'L', where U (or L) is unit upper (or lower) triangular matrix, U**T (or L**T) is the transpose of U (or L), P is a permutation matrix, P**T is the transpose of P, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. ZSYTRF_RK is called to compute the factorization of a complex symmetric matrix. The factored form of A is then used to solve the system of equations A * X = B by calling BLAS3 routine ZSYTRS_3.

Here is the call graph for this function:

◆ la_zsysv_rook()

pure subroutine, public la_lapack_solve_ldl::la_zsysv_rook ( character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
complex(dp), dimension(lda,*), intent(inout) a,
integer(ilp), intent(in) lda,
integer(ilp), dimension(*), intent(out) ipiv,
complex(dp), dimension(ldb,*), intent(inout) b,
integer(ilp), intent(in) ldb,
complex(dp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
integer(ilp), intent(out) info )

ZSYSV_ROOK: computes the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. The diagonal pivoting method is used to factor A as A = U * D * U**T, if UPLO = 'U', or A = L * D * L**T, if UPLO = 'L', where U (or L) is a product of permutation and unit upper (lower) triangular matrices, and D is symmetric and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. ZSYTRF_ROOK is called to compute the factorization of a complex symmetric matrix A using the bounded Bunch-Kaufman ("rook") diagonal pivoting method. The factored form of A is then used to solve the system of equations A * X = B by calling ZSYTRS_ROOK.

Here is the call graph for this function:

◆ la_zsysvx()

subroutine, public la_lapack_solve_ldl::la_zsysvx ( character, intent(in) fact,
character, intent(in) uplo,
integer(ilp), intent(in) n,
integer(ilp), intent(in) nrhs,
complex(dp), dimension(lda,*), intent(in) a,
integer(ilp), intent(in) lda,
complex(dp), dimension(ldaf,*), intent(inout) af,
integer(ilp), intent(in) ldaf,
integer(ilp), dimension(*), intent(inout) ipiv,
complex(dp), dimension(ldb,*), intent(in) b,
integer(ilp), intent(in) ldb,
complex(dp), dimension(ldx,*), intent(out) x,
integer(ilp), intent(in) ldx,
real(dp), intent(out) rcond,
real(dp), dimension(*), intent(out) ferr,
real(dp), dimension(*), intent(out) berr,
complex(dp), dimension(*), intent(out) work,
integer(ilp), intent(in) lwork,
real(dp), dimension(*), intent(out) rwork,
integer(ilp), intent(out) info )

ZSYSVX: uses the diagonal pivoting factorization to compute the solution to a complex system of linear equations A * X = B, where A is an N-by-N symmetric matrix and X and B are N-by-NRHS matrices. Error bounds on the solution and a condition estimate are also provided.

Here is the call graph for this function: