TABLE OF CONTENTS


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