TABLE OF CONTENTS
- m_abi_linalg/abi_d2zpotrf
- m_abi_linalg/abi_dpotrf
- m_abi_linalg/abi_xpotrf
- m_abi_linalg/abi_zpotrf
- m_abi_linalg/abi_zpotrf_2d
m_abi_linalg/abi_d2zpotrf [ Functions ]
[ Top ] [ m_abi_linalg ] [ Functions ]
NAME
abi_d2zpotrf
FUNCTION
INPUTS
SOURCE
93 subroutine abi_d2zpotrf(uplo,n,a,lda,info,x_cplx) 94 95 !Arguments ------------------------------------ 96 character(len=1), intent(in) :: uplo 97 integer, intent(in) :: n,lda 98 integer, intent(out) :: info 99 integer, intent(in), optional :: x_cplx 100 real(dp),target, intent(inout) :: a(lda,*) ! FIXME should be x_cplx * lda 101 102 !Local Variables ----------------------------- 103 integer :: cplx_ 104 105 ! ********************************************************************* 106 107 cplx_=1 ; if(PRESENT(x_cplx)) cplx_ = x_cplx 108 109 #ifdef HAVE_LINALG_PLASMA 110 if (ABI_LINALG_PLASMA_ISON) then 111 if(cplx_ == 2) then 112 info = PLASMA_zpotrf_c(uplo_plasma(uplo),n,c_loc(a),lda) 113 else 114 info = PLASMA_dpotrf_c(uplo_plasma(uplo),n,c_loc(a),lda) 115 end if 116 return 117 end if 118 #endif 119 120 if(cplx_ == 2) then 121 call zpotrf(uplo,n,a,lda,info) 122 else 123 call dpotrf(uplo,n,a,lda,info) 124 end if 125 126 end subroutine abi_d2zpotrf
m_abi_linalg/abi_dpotrf [ Functions ]
[ Top ] [ m_abi_linalg ] [ Functions ]
NAME
abi_dpotrf
FUNCTION
INPUTS
SOURCE
35 subroutine abi_dpotrf(uplo,n,a,lda,info) 36 37 !Arguments ------------------------------------ 38 character(len=1), intent(in) :: uplo 39 integer, intent(in) :: n,lda 40 integer, intent(out) :: info 41 real(dp), intent(inout) :: a(*) 42 43 ! ********************************************************************* 44 45 #ifdef HAVE_LINALG_PLASMA 46 if (ABI_LINALG_PLASMA_ISON) then 47 ! write(std_out,*) " abi_dpotrf => PLASMA dpotrf will be called " 48 call PLASMA_dpotrf(uplo_plasma(uplo),n,a,lda,info) 49 return 50 end if 51 #endif 52 53 call dpotrf(uplo,n,a,lda,info) 54 55 end subroutine abi_dpotrf
m_abi_linalg/abi_xpotrf [ Functions ]
[ Top ] [ m_abi_linalg ] [ Functions ]
NAME
abi_xpotrf
FUNCTION
abi_xpotrf is the generic function for computing the Cholesky factorization of a real symmetric (or hermitian) positive definite matrix A. The factorization has the form A = U**T * U, if UPLO = 'U', or A = L * L**T, if UPLO = 'L', where U is an upper triangular matrix and L is lower triangular.
COPYRIGHT
Copyright (C) 2001-2024 ABINIT group (LNguyen,FDahm (CS)) This file is distributed under the terms of the GNU General Public License, see ~ABINIT/Infos/copyright or http://www.gnu.org/copyleft/gpl.txt .
SOURCE
m_abi_linalg/abi_zpotrf [ Functions ]
[ Top ] [ m_abi_linalg ] [ Functions ]
NAME
abi_zpotrf
FUNCTION
INPUTS
SOURCE
139 subroutine abi_zpotrf(uplo,n,a,lda,info) 140 141 !Arguments ------------------------------------ 142 character(len=1), intent(in) :: uplo 143 integer, intent(in) :: lda,n 144 integer, intent(out) :: info 145 complex(dpc), intent(inout) :: a(*) 146 147 ! ********************************************************************* 148 149 #ifdef HAVE_LINALG_PLASMA 150 if (ABI_LINALG_PLASMA_ISON) then 151 ! write(*,*) " abi_zpotrf => PLASMA zpotrf will be called " 152 call PLASMA_zpotrf(uplo_plasma(uplo),n,a,lda,info) 153 return 154 end if 155 #endif 156 157 call zpotrf(uplo,n,a,lda,info) 158 159 end subroutine abi_zpotrf
m_abi_linalg/abi_zpotrf_2d [ Functions ]
[ Top ] [ m_abi_linalg ] [ Functions ]
NAME
abi_zpotrf_2d
FUNCTION
INPUTS
SOURCE
68 subroutine abi_zpotrf_2d(uplo,n,a,lda,info) 69 70 !Arguments ------------------------------------ 71 character(len=1), intent(in) :: uplo 72 integer, intent(in) :: lda,n 73 integer, intent(out) :: info 74 complex(dpc), intent(inout) :: a(lda,*) 75 76 ! ********************************************************************* 77 78 call abi_zpotrf(uplo,n,a(1,1),lda,info) 79 80 end subroutine abi_zpotrf_2d