Purpose ======= LA_POSV computes the solution to a linear system of equations A*X=B, where A is real symmetric or complex Hermitian and, in either case, positive definite, and where X and B are rectangular matrices or vectors. The Cholesky decomposition is used to factor A as A = U^H*U if UPLO = 'U', or A = L*L^H if UPLO = 'L' where U is an upper triangular matrix and L is a lower triangular matrix (L = U^H ). The factored form of A is then used to solve the above system. ========= SUBROUTINE LA_POSV( A, B, UPLO=uplo, INFO=info ) (), INTENT(INOUT) :: A(:,:), CHARACTER(LEN=1), INTENT(IN), OPTIONAL :: UPLO INTEGER, INTENT(OUT), OPTIONAL :: INFO where ::= REAL | COMPLEX ::= KIND(1.0) | KIND(1.0D0) ::= B(:,:) | B(:) Arguments ========= A (input/output) REAL or COMPLEX square array, shape (:,:). On entry, the matrix A. If UPLO = 'U', the upper triangular part of A contains the upper triangular part of the matrix A, and the strictly lower triangular part of A is not referenced. If UPLO = 'L', the lower triangular part of A contains the lower triangular part of the matrix A, and the strictly upper triangular part of A is not referenced. On exit, the factor U or L from the Cholesky factorization A = U^H*U = L*L^H. B (input/output) REAL or COMPLEX array, shape (:,:) with size(B,1) = size(A,1) or shape (:) with size(B) = size(A,1). On entry, the matrix B. On exit, the solution matrix X. UPLO Optional (input) CHARACTER(LEN=1) = 'U': Upper triangle of A is stored; = 'L': Lower triangle of A is stored. Default value: 'U'. INFO Optional (output) INTEGER = 0: sauccessful exit. < 0: if INFO = -i, the i-th argument had an illegal value. > 0: if INFO = i, the leading minor of order i of A is not positive definite, so the factorization could not be completed and the solution could not be computed. If INFO is not present and an error occurs, then the program is terminated with an error message.