fortran-lapack
Loading...
Searching...
No Matches
la_lapack::hesv_rk Interface Reference

HESV_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. More...

Public Member Functions

pure subroutine chesv_rk (uplo, n, nrhs, a, lda, e, ipiv, b, ldb, work, lwork, info)
 
 la_chesv_rk
 
 la_whesv_rk
 
pure subroutine zhesv_rk (uplo, n, nrhs, a, lda, e, ipiv, b, ldb, work, lwork, info)
 
 la_zhesv_rk
 

Detailed Description

HESV_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.

Member Function/Subroutine Documentation

◆ chesv_rk()

pure subroutine la_lapack::hesv_rk::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 
)
Here is the call graph for this function:

◆ la_chesv_rk()

la_lapack::hesv_rk::la_chesv_rk

◆ la_whesv_rk()

la_lapack::hesv_rk::la_whesv_rk

◆ la_zhesv_rk()

la_lapack::hesv_rk::la_zhesv_rk

◆ zhesv_rk()

pure subroutine la_lapack::hesv_rk::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 
)
Here is the call graph for this function:

The documentation for this interface was generated from the following file: