21 real(kind_real),
parameter :: 
eta = 1.0e-9_kind_real   
    38 integer,
intent(in) :: n              
    39 integer,
intent(in) :: nn             
    40 real(kind_real),
intent(in) :: a(nn)  
    41 real(kind_real),
intent(out) :: u(nn) 
    44 integer :: i,icol,ii,irow,j,k,kk,l,m
    45 real(kind_real) :: w,x
    51 if (nn/=(n*(n+1))/2) 
then    52    call mpl%abort(
'wrong size in Cholesky decomposition')
    76       if (abs(u(l))>0.0) 
then    80          if (
inf(abs(x*a(k)),w**2)) 
call mpl%abort(
'A is not positive semi-definite')
    85    if (
infeq(abs(w),abs(
eta*a(k)))) 
then    88       if (w<0.0) 
call mpl%abort(
'A is not positive semi-definite')
   106 integer,
intent(in) :: n              
   107 integer,
intent(in) :: nn             
   108 real(kind_real),
intent(in) :: a(nn)  
   109 real(kind_real),
intent(out) :: c(nn) 
   112 integer :: i,icol,irow,j,jcol,k,l,mdiag,ndiag,nrow
   113 real(kind_real) :: w(n),x
   117 if (nn/=(n*(n+1))/2) 
then   118    call mpl%abort(
'wrong size in Cholesky decomposition')
   130    if (abs(c(ndiag))>0.0) 
then   152             if (mdiag<l) l = l-k+1
 
integer, parameter, public kind_real