stdlib_lapack_others.fypp Source File


Source Code

#:include "common.fypp" 
module stdlib_lapack_others
  use stdlib_linalg_constants
  use stdlib_linalg_lapack_aux
  use stdlib_linalg_blas
  use stdlib_lapack_solve
  implicit none

interface 
#:for ik,it,ii in LINALG_INT_KINDS_TYPES
     real(sp) module function stdlib${ii}$_sla_syrpvgrw( uplo, n, info, a, lda, af, ldaf, ipiv,work )
           character, intent(in) :: uplo
           integer(${ik}$), intent(in) :: n, info, lda, ldaf
           integer(${ik}$), intent(in) :: ipiv(*)
           real(sp), intent(in) :: a(lda,*), af(ldaf,*)
           real(sp), intent(out) :: work(*)
     end function stdlib${ii}$_sla_syrpvgrw

     real(dp) module function stdlib${ii}$_dla_syrpvgrw( uplo, n, info, a, lda, af,ldaf, ipiv, work )
           character, intent(in) :: uplo
           integer(${ik}$), intent(in) :: n, info, lda, ldaf
           integer(${ik}$), intent(in) :: ipiv(*)
           real(dp), intent(in) :: a(lda,*), af(ldaf,*)
           real(dp), intent(out) :: work(*)
     end function stdlib${ii}$_dla_syrpvgrw

#:for rk,rt,ri in REAL_KINDS_TYPES
#:if not rk in ["sp","dp"]
     real(${rk}$) module function stdlib${ii}$_${ri}$la_syrpvgrw( uplo, n, info, a, lda, af,ldaf, ipiv, work )
           character, intent(in) :: uplo
           integer(${ik}$), intent(in) :: n, info, lda, ldaf
           integer(${ik}$), intent(in) :: ipiv(*)
           real(${rk}$), intent(in) :: a(lda,*), af(ldaf,*)
           real(${rk}$), intent(out) :: work(*)
     end function stdlib${ii}$_${ri}$la_syrpvgrw

#:endif
#:endfor

     real(sp) module function stdlib${ii}$_cla_syrpvgrw( uplo, n, info, a, lda, af, ldaf, ipiv,work )
           character, intent(in) :: uplo
           integer(${ik}$), intent(in) :: n, info, lda, ldaf
           complex(sp), intent(in) :: a(lda,*), af(ldaf,*)
           real(sp), intent(out) :: work(*)
           integer(${ik}$), intent(in) :: ipiv(*)
     end function stdlib${ii}$_cla_syrpvgrw

     real(dp) module function stdlib${ii}$_zla_syrpvgrw( uplo, n, info, a, lda, af,ldaf, ipiv, work )
           character, intent(in) :: uplo
           integer(${ik}$), intent(in) :: n, info, lda, ldaf
           complex(dp), intent(in) :: a(lda,*), af(ldaf,*)
           real(dp), intent(out) :: work(*)
           integer(${ik}$), intent(in) :: ipiv(*)
     end function stdlib${ii}$_zla_syrpvgrw

#:for ck,ct,ci in CMPLX_KINDS_TYPES
#:if not ck in ["sp","dp"]
     real(${ck}$) module function stdlib${ii}$_${ci}$la_syrpvgrw( uplo, n, info, a, lda, af,ldaf, ipiv, work )
           character, intent(in) :: uplo
           integer(${ik}$), intent(in) :: n, info, lda, ldaf
           complex(${ck}$), intent(in) :: a(lda,*), af(ldaf,*)
           real(${ck}$), intent(out) :: work(*)
           integer(${ik}$), intent(in) :: ipiv(*)
     end function stdlib${ii}$_${ci}$la_syrpvgrw

#:endif
#:endfor

#:endfor
end interface 


interface 
#:for ik,it,ii in LINALG_INT_KINDS_TYPES
     pure real(sp) module function stdlib${ii}$_sla_gerpvgrw( n, ncols, a, lda, af, ldaf )
           integer(${ik}$), intent(in) :: n, ncols, lda, ldaf
           real(sp), intent(in) :: a(lda,*), af(ldaf,*)
     end function stdlib${ii}$_sla_gerpvgrw

     pure real(dp) module function stdlib${ii}$_dla_gerpvgrw( n, ncols, a, lda, af,ldaf )
           integer(${ik}$), intent(in) :: n, ncols, lda, ldaf
           real(dp), intent(in) :: a(lda,*), af(ldaf,*)
     end function stdlib${ii}$_dla_gerpvgrw

#:for rk,rt,ri in REAL_KINDS_TYPES
#:if not rk in ["sp","dp"]
     pure real(${rk}$) module function stdlib${ii}$_${ri}$la_gerpvgrw( n, ncols, a, lda, af,ldaf )
           integer(${ik}$), intent(in) :: n, ncols, lda, ldaf
           real(${rk}$), intent(in) :: a(lda,*), af(ldaf,*)
     end function stdlib${ii}$_${ri}$la_gerpvgrw

#:endif
#:endfor

     pure real(sp) module function stdlib${ii}$_cla_gerpvgrw( n, ncols, a, lda, af, ldaf )
           integer(${ik}$), intent(in) :: n, ncols, lda, ldaf
           complex(sp), intent(in) :: a(lda,*), af(ldaf,*)
     end function stdlib${ii}$_cla_gerpvgrw

     pure real(dp) module function stdlib${ii}$_zla_gerpvgrw( n, ncols, a, lda, af,ldaf )
           integer(${ik}$), intent(in) :: n, ncols, lda, ldaf
           complex(dp), intent(in) :: a(lda,*), af(ldaf,*)
     end function stdlib${ii}$_zla_gerpvgrw

#:for ck,ct,ci in CMPLX_KINDS_TYPES
#:if not ck in ["sp","dp"]
     pure real(${ck}$) module function stdlib${ii}$_${ci}$la_gerpvgrw( n, ncols, a, lda, af,ldaf )
           integer(${ik}$), intent(in) :: n, ncols, lda, ldaf
           complex(${ck}$), intent(in) :: a(lda,*), af(ldaf,*)
     end function stdlib${ii}$_${ci}$la_gerpvgrw

#:endif
#:endfor

#:endfor
end interface 


interface 
#:for ik,it,ii in LINALG_INT_KINDS_TYPES
     real(sp) module function stdlib${ii}$_cla_gbrcond_c( trans, n, kl, ku, ab, ldab, afb,ldafb, ipiv, c, &
               capply, info, work,rwork )
           character, intent(in) :: trans
           logical(lk), intent(in) :: capply
           integer(${ik}$), intent(in) :: n, kl, ku, ldab, ldafb
           integer(${ik}$) :: kd, ke
           integer(${ik}$), intent(out) :: info
           integer(${ik}$), intent(in) :: ipiv(*)
           complex(sp), intent(in) :: ab(ldab,*), afb(ldafb,*)
           complex(sp), intent(out) :: work(*)
           real(sp), intent(in) :: c(*)
           real(sp), intent(out) :: rwork(*)
     end function stdlib${ii}$_cla_gbrcond_c

     real(dp) module function stdlib${ii}$_zla_gbrcond_c( trans, n, kl, ku, ab,ldab, afb, ldafb, ipiv,c, &
               capply, info, work,rwork )
           character, intent(in) :: trans
           logical(lk), intent(in) :: capply
           integer(${ik}$), intent(in) :: n, kl, ku, ldab, ldafb
           integer(${ik}$) :: kd, ke
           integer(${ik}$), intent(out) :: info
           integer(${ik}$), intent(in) :: ipiv(*)
           complex(dp), intent(in) :: ab(ldab,*), afb(ldafb,*)
           complex(dp), intent(out) :: work(*)
           real(dp), intent(in) :: c(*)
           real(dp), intent(out) :: rwork(*)
     end function stdlib${ii}$_zla_gbrcond_c

#:for ck,ct,ci in CMPLX_KINDS_TYPES
#:if not ck in ["sp","dp"]
     real(${ck}$) module function stdlib${ii}$_${ci}$la_gbrcond_c( trans, n, kl, ku, ab,ldab, afb, ldafb, ipiv,c, &
               capply, info, work,rwork )
           character, intent(in) :: trans
           logical(lk), intent(in) :: capply
           integer(${ik}$), intent(in) :: n, kl, ku, ldab, ldafb
           integer(${ik}$) :: kd, ke
           integer(${ik}$), intent(out) :: info
           integer(${ik}$), intent(in) :: ipiv(*)
           complex(${ck}$), intent(in) :: ab(ldab,*), afb(ldafb,*)
           complex(${ck}$), intent(out) :: work(*)
           real(${ck}$), intent(in) :: c(*)
           real(${ck}$), intent(out) :: rwork(*)
     end function stdlib${ii}$_${ci}$la_gbrcond_c

#:endif
#:endfor

#:endfor
end interface 


interface 
#:for ik,it,ii in LINALG_INT_KINDS_TYPES
     real(sp) module function stdlib${ii}$_cla_gercond_c( trans, n, a, lda, af, ldaf, ipiv, c,capply, info, &
               work, rwork )
           character, intent(in) :: trans
           logical(lk), intent(in) :: capply
           integer(${ik}$), intent(in) :: n, lda, ldaf
           integer(${ik}$), intent(out) :: info
           integer(${ik}$), intent(in) :: ipiv(*)
           complex(sp), intent(in) :: a(lda,*), af(ldaf,*)
           complex(sp), intent(out) :: work(*)
           real(sp), intent(in) :: c(*)
           real(sp), intent(out) :: rwork(*)
     end function stdlib${ii}$_cla_gercond_c

     real(dp) module function stdlib${ii}$_zla_gercond_c( trans, n, a, lda, af,ldaf, ipiv, c, capply,info, &
               work, rwork )
           character, intent(in) :: trans
           logical(lk), intent(in) :: capply
           integer(${ik}$), intent(in) :: n, lda, ldaf
           integer(${ik}$), intent(out) :: info
           integer(${ik}$), intent(in) :: ipiv(*)
           complex(dp), intent(in) :: a(lda,*), af(ldaf,*)
           complex(dp), intent(out) :: work(*)
           real(dp), intent(in) :: c(*)
           real(dp), intent(out) :: rwork(*)
     end function stdlib${ii}$_zla_gercond_c

#:for ck,ct,ci in CMPLX_KINDS_TYPES
#:if not ck in ["sp","dp"]
     real(${ck}$) module function stdlib${ii}$_${ci}$la_gercond_c( trans, n, a, lda, af,ldaf, ipiv, c, capply,info, &
               work, rwork )
           character, intent(in) :: trans
           logical(lk), intent(in) :: capply
           integer(${ik}$), intent(in) :: n, lda, ldaf
           integer(${ik}$), intent(out) :: info
           integer(${ik}$), intent(in) :: ipiv(*)
           complex(${ck}$), intent(in) :: a(lda,*), af(ldaf,*)
           complex(${ck}$), intent(out) :: work(*)
           real(${ck}$), intent(in) :: c(*)
           real(${ck}$), intent(out) :: rwork(*)
     end function stdlib${ii}$_${ci}$la_gercond_c

#:endif
#:endfor

#:endfor
end interface 


interface 
#:for ik,it,ii in LINALG_INT_KINDS_TYPES
     real(sp) module function stdlib${ii}$_cla_hercond_c( uplo, n, a, lda, af, ldaf, ipiv, c,capply, info, &
               work, rwork )
           character, intent(in) :: uplo
           logical(lk), intent(in) :: capply
           integer(${ik}$), intent(in) :: n, lda, ldaf
           integer(${ik}$), intent(out) :: info
           integer(${ik}$), intent(in) :: ipiv(*)
           complex(sp), intent(in) :: a(lda,*), af(ldaf,*)
           complex(sp), intent(out) :: work(*)
           real(sp), intent(in) :: c(*)
           real(sp), intent(out) :: rwork(*)
     end function stdlib${ii}$_cla_hercond_c

     real(dp) module function stdlib${ii}$_zla_hercond_c( uplo, n, a, lda, af,ldaf, ipiv, c, capply,info, work,&
                rwork )
           character, intent(in) :: uplo
           logical(lk), intent(in) :: capply
           integer(${ik}$), intent(in) :: n, lda, ldaf
           integer(${ik}$), intent(out) :: info
           integer(${ik}$), intent(in) :: ipiv(*)
           complex(dp), intent(in) :: a(lda,*), af(ldaf,*)
           complex(dp), intent(out) :: work(*)
           real(dp), intent(in) :: c(*)
           real(dp), intent(out) :: rwork(*)
     end function stdlib${ii}$_zla_hercond_c

#:for ck,ct,ci in CMPLX_KINDS_TYPES
#:if not ck in ["sp","dp"]
     real(${ck}$) module function stdlib${ii}$_${ci}$la_hercond_c( uplo, n, a, lda, af,ldaf, ipiv, c, capply,info, work,&
                rwork )
           character, intent(in) :: uplo
           logical(lk), intent(in) :: capply
           integer(${ik}$), intent(in) :: n, lda, ldaf
           integer(${ik}$), intent(out) :: info
           integer(${ik}$), intent(in) :: ipiv(*)
           complex(${ck}$), intent(in) :: a(lda,*), af(ldaf,*)
           complex(${ck}$), intent(out) :: work(*)
           real(${ck}$), intent(in) :: c(*)
           real(${ck}$), intent(out) :: rwork(*)
     end function stdlib${ii}$_${ci}$la_hercond_c

#:endif
#:endfor

#:endfor
end interface 


interface 
#:for ik,it,ii in LINALG_INT_KINDS_TYPES
     module subroutine stdlib${ii}$_sla_syamv( uplo, n, alpha, a, lda, x, incx, beta, y,incy )
           real(sp), intent(in) :: alpha, beta
           integer(${ik}$), intent(in) :: incx, incy, lda, n, uplo
           real(sp), intent(in) :: a(lda,*), x(*)
           real(sp), intent(inout) :: y(*)
     end subroutine stdlib${ii}$_sla_syamv

     module subroutine stdlib${ii}$_dla_syamv( uplo, n, alpha, a, lda, x, incx, beta, y,incy )
           real(dp), intent(in) :: alpha, beta
           integer(${ik}$), intent(in) :: incx, incy, lda, n, uplo
           real(dp), intent(in) :: a(lda,*), x(*)
           real(dp), intent(inout) :: y(*)
     end subroutine stdlib${ii}$_dla_syamv

#:for rk,rt,ri in REAL_KINDS_TYPES
#:if not rk in ["sp","dp"]
     module subroutine stdlib${ii}$_${ri}$la_syamv( uplo, n, alpha, a, lda, x, incx, beta, y,incy )
           real(${rk}$), intent(in) :: alpha, beta
           integer(${ik}$), intent(in) :: incx, incy, lda, n, uplo
           real(${rk}$), intent(in) :: a(lda,*), x(*)
           real(${rk}$), intent(inout) :: y(*)
     end subroutine stdlib${ii}$_${ri}$la_syamv

#:endif
#:endfor

     module subroutine stdlib${ii}$_cla_syamv( uplo, n, alpha, a, lda, x, incx, beta, y,incy )
           real(sp), intent(in) :: alpha, beta
           integer(${ik}$), intent(in) :: incx, incy, lda, n
           integer(${ik}$), intent(in) :: uplo
           complex(sp), intent(in) :: a(lda,*), x(*)
           real(sp), intent(inout) :: y(*)
     end subroutine stdlib${ii}$_cla_syamv

     module subroutine stdlib${ii}$_zla_syamv( uplo, n, alpha, a, lda, x, incx, beta, y,incy )
           real(dp), intent(in) :: alpha, beta
           integer(${ik}$), intent(in) :: incx, incy, lda, n
           integer(${ik}$), intent(in) :: uplo
           complex(dp), intent(in) :: a(lda,*), x(*)
           real(dp), intent(inout) :: y(*)
     end subroutine stdlib${ii}$_zla_syamv

#:for ck,ct,ci in CMPLX_KINDS_TYPES
#:if not ck in ["sp","dp"]
     module subroutine stdlib${ii}$_${ci}$la_syamv( uplo, n, alpha, a, lda, x, incx, beta, y,incy )
           real(${ck}$), intent(in) :: alpha, beta
           integer(${ik}$), intent(in) :: incx, incy, lda, n
           integer(${ik}$), intent(in) :: uplo
           complex(${ck}$), intent(in) :: a(lda,*), x(*)
           real(${ck}$), intent(inout) :: y(*)
     end subroutine stdlib${ii}$_${ci}$la_syamv

#:endif
#:endfor

#:endfor
end interface 


interface 
#:for ik,it,ii in LINALG_INT_KINDS_TYPES
     real(sp) module function stdlib${ii}$_sla_syrcond( uplo, n, a, lda, af, ldaf, ipiv, cmode,c, info, work, &
               iwork )
           character, intent(in) :: uplo
           integer(${ik}$), intent(in) :: n, lda, ldaf, cmode
           integer(${ik}$), intent(out) :: info
           integer(${ik}$), intent(out) :: iwork(*)
           integer(${ik}$), intent(in) :: ipiv(*)
           real(sp), intent(in) :: a(lda,*), af(ldaf,*), c(*)
           real(sp), intent(out) :: work(*)
     end function stdlib${ii}$_sla_syrcond

     real(dp) module function stdlib${ii}$_dla_syrcond( uplo, n, a, lda, af, ldaf,ipiv, cmode, c, info, work,&
               iwork )
           character, intent(in) :: uplo
           integer(${ik}$), intent(in) :: n, lda, ldaf, cmode
           integer(${ik}$), intent(out) :: info
           integer(${ik}$), intent(out) :: iwork(*)
           integer(${ik}$), intent(in) :: ipiv(*)
           real(dp), intent(in) :: a(lda,*), af(ldaf,*), c(*)
           real(dp), intent(out) :: work(*)
     end function stdlib${ii}$_dla_syrcond

#:for rk,rt,ri in REAL_KINDS_TYPES
#:if not rk in ["sp","dp"]
     real(${rk}$) module function stdlib${ii}$_${ri}$la_syrcond( uplo, n, a, lda, af, ldaf,ipiv, cmode, c, info, work,&
               iwork )
           character, intent(in) :: uplo
           integer(${ik}$), intent(in) :: n, lda, ldaf, cmode
           integer(${ik}$), intent(out) :: info
           integer(${ik}$), intent(out) :: iwork(*)
           integer(${ik}$), intent(in) :: ipiv(*)
           real(${rk}$), intent(in) :: a(lda,*), af(ldaf,*), c(*)
           real(${rk}$), intent(out) :: work(*)
     end function stdlib${ii}$_${ri}$la_syrcond

#:endif
#:endfor

#:endfor
end interface 


interface 
#:for ik,it,ii in LINALG_INT_KINDS_TYPES
     real(sp) module function stdlib${ii}$_cla_syrcond_c( uplo, n, a, lda, af, ldaf, ipiv, c,capply, info, &
               work, rwork )
           character, intent(in) :: uplo
           logical(lk), intent(in) :: capply
           integer(${ik}$), intent(in) :: n, lda, ldaf
           integer(${ik}$), intent(out) :: info
           integer(${ik}$), intent(in) :: ipiv(*)
           complex(sp), intent(in) :: a(lda,*), af(ldaf,*)
           complex(sp), intent(out) :: work(*)
           real(sp), intent(in) :: c(*)
           real(sp), intent(out) :: rwork(*)
     end function stdlib${ii}$_cla_syrcond_c

     real(dp) module function stdlib${ii}$_zla_syrcond_c( uplo, n, a, lda, af,ldaf, ipiv, c, capply,info, work,&
                rwork )
           character, intent(in) :: uplo
           logical(lk), intent(in) :: capply
           integer(${ik}$), intent(in) :: n, lda, ldaf
           integer(${ik}$), intent(out) :: info
           integer(${ik}$), intent(in) :: ipiv(*)
           complex(dp), intent(in) :: a(lda,*), af(ldaf,*)
           complex(dp), intent(out) :: work(*)
           real(dp), intent(in) :: c(*)
           real(dp), intent(out) :: rwork(*)
     end function stdlib${ii}$_zla_syrcond_c

#:for ck,ct,ci in CMPLX_KINDS_TYPES
#:if not ck in ["sp","dp"]
     real(${ck}$) module function stdlib${ii}$_${ci}$la_syrcond_c( uplo, n, a, lda, af,ldaf, ipiv, c, capply,info, work,&
                rwork )
           character, intent(in) :: uplo
           logical(lk), intent(in) :: capply
           integer(${ik}$), intent(in) :: n, lda, ldaf
           integer(${ik}$), intent(out) :: info
           integer(${ik}$), intent(in) :: ipiv(*)
           complex(${ck}$), intent(in) :: a(lda,*), af(ldaf,*)
           complex(${ck}$), intent(out) :: work(*)
           real(${ck}$), intent(in) :: c(*)
           real(${ck}$), intent(out) :: rwork(*)
     end function stdlib${ii}$_${ci}$la_syrcond_c

#:endif
#:endfor

#:endfor
end interface 


interface 
#:for ik,it,ii in LINALG_INT_KINDS_TYPES
     real(sp) module function stdlib${ii}$_cla_porcond_c( uplo, n, a, lda, af, ldaf, c, capply,info, work, &
               rwork )
           character, intent(in) :: uplo
           logical(lk), intent(in) :: capply
           integer(${ik}$), intent(in) :: n, lda, ldaf
           integer(${ik}$), intent(out) :: info
           complex(sp), intent(in) :: a(lda,*), af(ldaf,*)
           complex(sp), intent(out) :: work(*)
           real(sp), intent(in) :: c(*)
           real(sp), intent(out) :: rwork(*)
     end function stdlib${ii}$_cla_porcond_c

     real(dp) module function stdlib${ii}$_zla_porcond_c( uplo, n, a, lda, af,ldaf, c, capply, info,work, &
               rwork )
           character, intent(in) :: uplo
           logical(lk), intent(in) :: capply
           integer(${ik}$), intent(in) :: n, lda, ldaf
           integer(${ik}$), intent(out) :: info
           complex(dp), intent(in) :: a(lda,*), af(ldaf,*)
           complex(dp), intent(out) :: work(*)
           real(dp), intent(in) :: c(*)
           real(dp), intent(out) :: rwork(*)
     end function stdlib${ii}$_zla_porcond_c

#:for ck,ct,ci in CMPLX_KINDS_TYPES
#:if not ck in ["sp","dp"]
     real(${ck}$) module function stdlib${ii}$_${ci}$la_porcond_c( uplo, n, a, lda, af,ldaf, c, capply, info,work, &
               rwork )
           character, intent(in) :: uplo
           logical(lk), intent(in) :: capply
           integer(${ik}$), intent(in) :: n, lda, ldaf
           integer(${ik}$), intent(out) :: info
           complex(${ck}$), intent(in) :: a(lda,*), af(ldaf,*)
           complex(${ck}$), intent(out) :: work(*)
           real(${ck}$), intent(in) :: c(*)
           real(${ck}$), intent(out) :: rwork(*)
     end function stdlib${ii}$_${ci}$la_porcond_c

#:endif
#:endfor

#:endfor
end interface 

end module stdlib_lapack_others