fortran-lapack
Loading...
Searching...
No Matches
la_lapack_solve_ldl_comp3.f90 File Reference

Modules

module  la_lapack_solve_ldl_comp3
 Hermitian indefinite components: Bunch-Kaufman factorization, solve, inverse.
 

Functions/Subroutines

pure subroutine, public la_lapack_solve_ldl_comp3::la_cheswapr (uplo, n, a, lda, i1, i2)
 CHESWAPR: applies an elementary permutation on the rows and the columns of a hermitian matrix.
 
pure subroutine, public la_lapack_solve_ldl_comp3::la_zheswapr (uplo, n, a, lda, i1, i2)
 ZHESWAPR: applies an elementary permutation on the rows and the columns of a hermitian matrix.
 
pure subroutine, public la_lapack_solve_ldl_comp3::la_wheswapr (uplo, n, a, lda, i1, i2)
 WHESWAPR: applies an elementary permutation on the rows and the columns of a hermitian matrix.
 
pure subroutine, public la_lapack_solve_ldl_comp3::la_chetf2 (uplo, n, a, lda, ipiv, info)
 CHETF2: computes the factorization of a complex Hermitian matrix A using the Bunch-Kaufman diagonal pivoting method: A = U*D*U**H or A = L*D*L**H where U (or L) is a product of permutation and unit upper (lower) triangular matrices, U**H is the conjugate transpose of U, and D is Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. This is the unblocked version of the algorithm, calling Level 2 BLAS.
 
pure subroutine, public la_lapack_solve_ldl_comp3::la_zhetf2 (uplo, n, a, lda, ipiv, info)
 ZHETF2: computes the factorization of a complex Hermitian matrix A using the Bunch-Kaufman diagonal pivoting method: A = U*D*U**H or A = L*D*L**H where U (or L) is a product of permutation and unit upper (lower) triangular matrices, U**H is the conjugate transpose of U, and D is Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. This is the unblocked version of the algorithm, calling Level 2 BLAS.
 
pure subroutine, public la_lapack_solve_ldl_comp3::la_whetf2 (uplo, n, a, lda, ipiv, info)
 WHETF2: computes the factorization of a complex Hermitian matrix A using the Bunch-Kaufman diagonal pivoting method: A = U*D*U**H or A = L*D*L**H where U (or L) is a product of permutation and unit upper (lower) triangular matrices, U**H is the conjugate transpose of U, and D is Hermitian and block diagonal with 1-by-1 and 2-by-2 diagonal blocks. This is the unblocked version of the algorithm, calling Level 2 BLAS.
 
pure subroutine, public la_lapack_solve_ldl_comp3::la_chetri (uplo, n, a, lda, ipiv, work, info)
 CHETRI: computes the inverse of a complex Hermitian indefinite matrix A using the factorization A = U*D*U**H or A = L*D*L**H computed by CHETRF.
 
pure subroutine, public la_lapack_solve_ldl_comp3::la_zhetri (uplo, n, a, lda, ipiv, work, info)
 ZHETRI: computes the inverse of a complex Hermitian indefinite matrix A using the factorization A = U*D*U**H or A = L*D*L**H computed by ZHETRF.
 
pure subroutine, public la_lapack_solve_ldl_comp3::la_whetri (uplo, n, a, lda, ipiv, work, info)
 WHETRI: computes the inverse of a complex Hermitian indefinite matrix A using the factorization A = U*D*U**H or A = L*D*L**H computed by WHETRF.
 
pure subroutine, public la_lapack_solve_ldl_comp3::la_chetrs_3 (uplo, n, nrhs, a, lda, e, ipiv, b, ldb, info)
 CHETRS_3: solves a system of linear equations A * X = B with a complex Hermitian matrix A using the factorization computed by CHETRF_RK or CHETRF_BK: A = P*U*D*(U**H)*(P**T) or A = P*L*D*(L**H)*(P**T), 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. This algorithm is using Level 3 BLAS.
 
pure subroutine, public la_lapack_solve_ldl_comp3::la_zhetrs_3 (uplo, n, nrhs, a, lda, e, ipiv, b, ldb, info)
 ZHETRS_3: solves a system of linear equations A * X = B with a complex Hermitian matrix A using the factorization computed by ZHETRF_RK or ZHETRF_BK: A = P*U*D*(U**H)*(P**T) or A = P*L*D*(L**H)*(P**T), 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. This algorithm is using Level 3 BLAS.
 
pure subroutine, public la_lapack_solve_ldl_comp3::la_whetrs_3 (uplo, n, nrhs, a, lda, e, ipiv, b, ldb, info)
 WHETRS_3: solves a system of linear equations A * X = B with a complex Hermitian matrix A using the factorization computed by WHETRF_RK or ZHETRF_BK: A = P*U*D*(U**H)*(P**T) or A = P*L*D*(L**H)*(P**T), 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. This algorithm is using Level 3 BLAS.
 
pure subroutine, public la_lapack_solve_ldl_comp3::la_chptrf (uplo, n, ap, ipiv, info)
 CHPTRF: computes the factorization of a complex Hermitian packed matrix A using the Bunch-Kaufman diagonal pivoting method: A = U*D*U**H or A = L*D*L**H 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.
 
pure subroutine, public la_lapack_solve_ldl_comp3::la_zhptrf (uplo, n, ap, ipiv, info)
 ZHPTRF: computes the factorization of a complex Hermitian packed matrix A using the Bunch-Kaufman diagonal pivoting method: A = U*D*U**H or A = L*D*L**H 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.
 
pure subroutine, public la_lapack_solve_ldl_comp3::la_whptrf (uplo, n, ap, ipiv, info)
 WHPTRF: computes the factorization of a complex Hermitian packed matrix A using the Bunch-Kaufman diagonal pivoting method: A = U*D*U**H or A = L*D*L**H 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.
 
pure subroutine, public la_lapack_solve_ldl_comp3::la_chptri (uplo, n, ap, ipiv, work, info)
 CHPTRI: computes the inverse of a complex Hermitian indefinite matrix A in packed storage using the factorization A = U*D*U**H or A = L*D*L**H computed by CHPTRF.
 
pure subroutine, public la_lapack_solve_ldl_comp3::la_zhptri (uplo, n, ap, ipiv, work, info)
 ZHPTRI: computes the inverse of a complex Hermitian indefinite matrix A in packed storage using the factorization A = U*D*U**H or A = L*D*L**H computed by ZHPTRF.
 
pure subroutine, public la_lapack_solve_ldl_comp3::la_whptri (uplo, n, ap, ipiv, work, info)
 WHPTRI: computes the inverse of a complex Hermitian indefinite matrix A in packed storage using the factorization A = U*D*U**H or A = L*D*L**H computed by WHPTRF.
 
pure subroutine, public la_lapack_solve_ldl_comp3::la_clahef (uplo, n, nb, kb, a, lda, ipiv, w, ldw, info)
 CLAHEF: computes a partial factorization of a complex Hermitian matrix A using the Bunch-Kaufman diagonal pivoting method. The partial factorization has the form: A = ( I U12 ) ( A11 0 ) ( I 0 ) if UPLO = 'U', or: ( 0 U22 ) ( 0 D ) ( U12**H U22**H ) A = ( L11 0 ) ( D 0 ) ( L11**H L21**H ) if UPLO = 'L' ( L21 I ) ( 0 A22 ) ( 0 I ) where the order of D is at most NB. The actual order is returned in the argument KB, and is either NB or NB-1, or N if N <= NB. Note that U**H denotes the conjugate transpose of U. CLAHEF is an auxiliary routine called by CHETRF. It uses blocked code (calling Level 3 BLAS) to update the submatrix A11 (if UPLO = 'U') or A22 (if UPLO = 'L').
 
pure subroutine, public la_lapack_solve_ldl_comp3::la_zlahef (uplo, n, nb, kb, a, lda, ipiv, w, ldw, info)
 ZLAHEF: computes a partial factorization of a complex Hermitian matrix A using the Bunch-Kaufman diagonal pivoting method. The partial factorization has the form: A = ( I U12 ) ( A11 0 ) ( I 0 ) if UPLO = 'U', or: ( 0 U22 ) ( 0 D ) ( U12**H U22**H ) A = ( L11 0 ) ( D 0 ) ( L11**H L21**H ) if UPLO = 'L' ( L21 I ) ( 0 A22 ) ( 0 I ) where the order of D is at most NB. The actual order is returned in the argument KB, and is either NB or NB-1, or N if N <= NB. Note that U**H denotes the conjugate transpose of U. ZLAHEF is an auxiliary routine called by ZHETRF. It uses blocked code (calling Level 3 BLAS) to update the submatrix A11 (if UPLO = 'U') or A22 (if UPLO = 'L').
 
pure subroutine, public la_lapack_solve_ldl_comp3::la_wlahef (uplo, n, nb, kb, a, lda, ipiv, w, ldw, info)
 WLAHEF: computes a partial factorization of a complex Hermitian matrix A using the Bunch-Kaufman diagonal pivoting method. The partial factorization has the form: A = ( I U12 ) ( A11 0 ) ( I 0 ) if UPLO = 'U', or: ( 0 U22 ) ( 0 D ) ( U12**H U22**H ) A = ( L11 0 ) ( D 0 ) ( L11**H L21**H ) if UPLO = 'L' ( L21 I ) ( 0 A22 ) ( 0 I ) where the order of D is at most NB. The actual order is returned in the argument KB, and is either NB or NB-1, or N if N <= NB. Note that U**H denotes the conjugate transpose of U. WLAHEF is an auxiliary routine called by WHETRF. It uses blocked code (calling Level 3 BLAS) to update the submatrix A11 (if UPLO = 'U') or A22 (if UPLO = 'L').
 
pure subroutine, public la_lapack_solve_ldl_comp3::la_cheequb (uplo, n, a, lda, s, scond, amax, work, info)
 CHEEQUB: computes row and column scalings intended to equilibrate a Hermitian matrix A (with respect to the Euclidean norm) and reduce its condition number. The scale factors S are computed by the BIN algorithm (see references) so that the scaled matrix B with elements B(i,j) = S(i)*A(i,j)*S(j) has a condition number within a factor N of the smallest possible condition number over all possible diagonal scalings.
 
pure subroutine, public la_lapack_solve_ldl_comp3::la_zheequb (uplo, n, a, lda, s, scond, amax, work, info)
 ZHEEQUB: computes row and column scalings intended to equilibrate a Hermitian matrix A (with respect to the Euclidean norm) and reduce its condition number. The scale factors S are computed by the BIN algorithm (see references) so that the scaled matrix B with elements B(i,j) = S(i)*A(i,j)*S(j) has a condition number within a factor N of the smallest possible condition number over all possible diagonal scalings.
 
pure subroutine, public la_lapack_solve_ldl_comp3::la_wheequb (uplo, n, a, lda, s, scond, amax, work, info)
 WHEEQUB: computes row and column scalings intended to equilibrate a Hermitian matrix A (with respect to the Euclidean norm) and reduce its condition number. The scale factors S are computed by the BIN algorithm (see references) so that the scaled matrix B with elements B(i,j) = S(i)*A(i,j)*S(j) has a condition number within a factor N of the smallest possible condition number over all possible diagonal scalings.
 
pure subroutine, public la_lapack_solve_ldl_comp3::la_chetrf (uplo, n, a, lda, ipiv, work, lwork, info)
 CHETRF: computes the factorization of a complex Hermitian matrix A using the Bunch-Kaufman diagonal pivoting method. The form of the factorization is A = U*D*U**H or A = L*D*L**H 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. This is the blocked version of the algorithm, calling Level 3 BLAS.
 
pure subroutine, public la_lapack_solve_ldl_comp3::la_zhetrf (uplo, n, a, lda, ipiv, work, lwork, info)
 ZHETRF: computes the factorization of a complex Hermitian matrix A using the Bunch-Kaufman diagonal pivoting method. The form of the factorization is A = U*D*U**H or A = L*D*L**H 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. This is the blocked version of the algorithm, calling Level 3 BLAS.
 
pure subroutine, public la_lapack_solve_ldl_comp3::la_whetrf (uplo, n, a, lda, ipiv, work, lwork, info)
 WHETRF: computes the factorization of a complex Hermitian matrix A using the Bunch-Kaufman diagonal pivoting method. The form of the factorization is A = U*D*U**H or A = L*D*L**H 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. This is the blocked version of the algorithm, calling Level 3 BLAS.
 
pure subroutine, public la_lapack_solve_ldl_comp3::la_chetrs (uplo, n, nrhs, a, lda, ipiv, b, ldb, info)
 CHETRS: solves a system of linear equations A*X = B with a complex Hermitian matrix A using the factorization A = U*D*U**H or A = L*D*L**H computed by CHETRF.
 
pure subroutine, public la_lapack_solve_ldl_comp3::la_zhetrs (uplo, n, nrhs, a, lda, ipiv, b, ldb, info)
 ZHETRS: solves a system of linear equations A*X = B with a complex Hermitian matrix A using the factorization A = U*D*U**H or A = L*D*L**H computed by ZHETRF.
 
pure subroutine, public la_lapack_solve_ldl_comp3::la_whetrs (uplo, n, nrhs, a, lda, ipiv, b, ldb, info)
 WHETRS: solves a system of linear equations A*X = B with a complex Hermitian matrix A using the factorization A = U*D*U**H or A = L*D*L**H computed by WHETRF.
 
pure subroutine, public la_lapack_solve_ldl_comp3::la_chetrs2 (uplo, n, nrhs, a, lda, ipiv, b, ldb, work, info)
 CHETRS2: solves a system of linear equations A*X = B with a complex Hermitian matrix A using the factorization A = U*D*U**H or A = L*D*L**H computed by CHETRF and converted by CSYCONV.
 
pure subroutine, public la_lapack_solve_ldl_comp3::la_zhetrs2 (uplo, n, nrhs, a, lda, ipiv, b, ldb, work, info)
 ZHETRS2: solves a system of linear equations A*X = B with a complex Hermitian matrix A using the factorization A = U*D*U**H or A = L*D*L**H computed by ZHETRF and converted by ZSYCONV.
 
pure subroutine, public la_lapack_solve_ldl_comp3::la_whetrs2 (uplo, n, nrhs, a, lda, ipiv, b, ldb, work, info)
 WHETRS2: solves a system of linear equations A*X = B with a complex Hermitian matrix A using the factorization A = U*D*U**H or A = L*D*L**H computed by WHETRF and converted by WSYCONV.
 
pure subroutine, public la_lapack_solve_ldl_comp3::la_chptrs (uplo, n, nrhs, ap, ipiv, b, ldb, info)
 CHPTRS: solves a system of linear equations A*X = B with a complex Hermitian matrix A stored in packed format using the factorization A = U*D*U**H or A = L*D*L**H computed by CHPTRF.
 
pure subroutine, public la_lapack_solve_ldl_comp3::la_zhptrs (uplo, n, nrhs, ap, ipiv, b, ldb, info)
 ZHPTRS: solves a system of linear equations A*X = B with a complex Hermitian matrix A stored in packed format using the factorization A = U*D*U**H or A = L*D*L**H computed by ZHPTRF.
 
pure subroutine, public la_lapack_solve_ldl_comp3::la_whptrs (uplo, n, nrhs, ap, ipiv, b, ldb, info)
 WHPTRS: solves a system of linear equations A*X = B with a complex Hermitian matrix A stored in packed format using the factorization A = U*D*U**H or A = L*D*L**H computed by WHPTRF.
 
pure subroutine, public la_lapack_solve_ldl_comp3::la_checon (uplo, n, a, lda, ipiv, anorm, rcond, work, info)
 CHECON: estimates the reciprocal of the condition number of a complex Hermitian matrix A using the factorization A = U*D*U**H or A = L*D*L**H computed by CHETRF. An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))).
 
pure subroutine, public la_lapack_solve_ldl_comp3::la_zhecon (uplo, n, a, lda, ipiv, anorm, rcond, work, info)
 ZHECON: estimates the reciprocal of the condition number of a complex Hermitian matrix A using the factorization A = U*D*U**H or A = L*D*L**H computed by ZHETRF. An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))).
 
pure subroutine, public la_lapack_solve_ldl_comp3::la_whecon (uplo, n, a, lda, ipiv, anorm, rcond, work, info)
 WHECON: estimates the reciprocal of the condition number of a complex Hermitian matrix A using the factorization A = U*D*U**H or A = L*D*L**H computed by WHETRF. An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))).
 
pure subroutine, public la_lapack_solve_ldl_comp3::la_cherfs (uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info)
 CHERFS: improves the computed solution to a system of linear equations when the coefficient matrix is Hermitian indefinite, and provides error bounds and backward error estimates for the solution.
 
pure subroutine, public la_lapack_solve_ldl_comp3::la_zherfs (uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info)
 ZHERFS: improves the computed solution to a system of linear equations when the coefficient matrix is Hermitian indefinite, and provides error bounds and backward error estimates for the solution.
 
pure subroutine, public la_lapack_solve_ldl_comp3::la_wherfs (uplo, n, nrhs, a, lda, af, ldaf, ipiv, b, ldb, x, ldx, ferr, berr, work, rwork, info)
 WHERFS: improves the computed solution to a system of linear equations when the coefficient matrix is Hermitian indefinite, and provides error bounds and backward error estimates for the solution.
 
pure subroutine, public la_lapack_solve_ldl_comp3::la_chpcon (uplo, n, ap, ipiv, anorm, rcond, work, info)
 CHPCON: estimates the reciprocal of the condition number of a complex Hermitian packed matrix A using the factorization A = U*D*U**H or A = L*D*L**H computed by CHPTRF. An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))).
 
pure subroutine, public la_lapack_solve_ldl_comp3::la_zhpcon (uplo, n, ap, ipiv, anorm, rcond, work, info)
 ZHPCON: estimates the reciprocal of the condition number of a complex Hermitian packed matrix A using the factorization A = U*D*U**H or A = L*D*L**H computed by ZHPTRF. An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))).
 
pure subroutine, public la_lapack_solve_ldl_comp3::la_whpcon (uplo, n, ap, ipiv, anorm, rcond, work, info)
 WHPCON: estimates the reciprocal of the condition number of a complex Hermitian packed matrix A using the factorization A = U*D*U**H or A = L*D*L**H computed by WHPTRF. An estimate is obtained for norm(inv(A)), and the reciprocal of the condition number is computed as RCOND = 1 / (ANORM * norm(inv(A))).