lusol Module


Uses

  • module~~lusol~~UsesGraph module~lusol lusol module~lusol_precision lusol_precision module~lusol->module~lusol_precision iso_fortran_env iso_fortran_env module~lusol_precision->iso_fortran_env

Used by

  • module~~lusol~~UsedByGraph module~lusol lusol module~lusol_ez_module lusol_ez_module module~lusol_ez_module->module~lusol proc~nlesolver_solver nlesolver_module::nlesolver_type%nlesolver_solver proc~nlesolver_solver->module~lusol_ez_module program~main~2 main program~main~2->module~lusol_ez_module

Variables

Type Visibility Attributes Name Initial
integer(kind=ip), private, parameter :: i1 = 1
integer(kind=ip), private, parameter :: i2 = 2
real(kind=rp), private, parameter :: zero = 0.0
real(kind=rp), private, parameter :: one = 1.0

Functions

private function jdamax(n, x, incx) result(iAmax)

Arguments

Type IntentOptional Attributes Name
integer(kind=ip), intent(in) :: n
real(kind=rp), intent(in) :: x(:)
integer(kind=ip), intent(in) :: incx

Return Value integer(kind=ip)


Subroutines

public subroutine lu1fac(m, n, nelem, lena, luparm, parmlu, a, indc, indr, p, q, lenc, lenr, locc, locr, iploc, iqloc, ipinv, iqinv, w, inform)

! nelem = numnz !!! Don't change nelem. ! nelem is now numnz below (it might be less than the input value).

Arguments

Type IntentOptional Attributes Name
integer(kind=ip), intent(in) :: m
integer(kind=ip), intent(in) :: n
integer(kind=ip), intent(in) :: nelem
integer(kind=ip), intent(in) :: lena
integer(kind=ip), intent(inout) :: luparm(30)
real(kind=rp), intent(inout) :: parmlu(30)
real(kind=rp), intent(inout) :: a(lena)
integer(kind=ip), intent(inout) :: indc(lena)
integer(kind=ip), intent(inout) :: indr(lena)
integer(kind=ip), intent(inout) :: p(m)
integer(kind=ip), intent(inout) :: q(n)
integer(kind=ip), intent(inout) :: lenc(n)
integer(kind=ip), intent(inout) :: lenr(m)
integer(kind=ip), intent(inout) :: locc(n)
integer(kind=ip), intent(inout) :: locr(m)
integer(kind=ip), intent(inout) :: iploc(n)
integer(kind=ip), intent(inout) :: iqloc(m)
integer(kind=ip), intent(inout) :: ipinv(m)
integer(kind=ip), intent(inout) :: iqinv(n)
real(kind=rp), intent(inout) :: w(n)
integer(kind=ip), intent(out) :: inform

private subroutine lu1fad(m, n, nelem, lena, luparm, parmlu, a, indc, indr, p, q, lenc, lenr, locc, locr, iploc, iqloc, ipinv, iqinv, w, lenH, Ha, Hj, Hk, Amaxr, inform, lenL, lenU, minlen, mersum, nUtri, nLtri, ndens1, ndens2, nrank, nslack, Lmax, Umax, DUmax, DUmin, Akmax)

! a(ldiagU + nrowu) = abest ! This was in pivot order. !!! DEBUG

Arguments

Type IntentOptional Attributes Name
integer(kind=ip), intent(in) :: m
integer(kind=ip), intent(in) :: n
integer(kind=ip), intent(in) :: nelem
integer(kind=ip), intent(in) :: lena
integer(kind=ip), intent(inout) :: luparm(30)
real(kind=rp), intent(inout) :: parmlu(30)
real(kind=rp), intent(inout) :: a(lena)
integer(kind=ip), intent(inout) :: indc(lena)
integer(kind=ip), intent(inout) :: indr(lena)
integer(kind=ip), intent(inout) :: p(m)
integer(kind=ip), intent(inout) :: q(n)
integer(kind=ip), intent(inout) :: lenc(n)
integer(kind=ip), intent(inout) :: lenr(m)
integer(kind=ip), intent(inout) :: locc(n)
integer(kind=ip), intent(inout) :: locr(m)
integer(kind=ip), intent(inout) :: iploc(n)
integer(kind=ip), intent(inout) :: iqloc(m)
integer(kind=ip), intent(inout) :: ipinv(m)
integer(kind=ip), intent(inout) :: iqinv(n)
real(kind=rp), intent(inout) :: w(n)
integer(kind=ip), intent(in) :: lenH
real(kind=rp), intent(inout) :: Ha(lenH)
integer(kind=ip), intent(inout) :: Hj(lenH)
integer(kind=ip), intent(inout) :: Hk(lenH)
real(kind=rp), intent(inout) :: Amaxr(m)
integer(kind=ip), intent(out) :: inform
integer(kind=ip), intent(out) :: lenL
integer(kind=ip), intent(out) :: lenU
integer(kind=ip), intent(out) :: minlen
integer(kind=ip), intent(out) :: mersum
integer(kind=ip), intent(out) :: nUtri
integer(kind=ip), intent(out) :: nLtri
integer(kind=ip), intent(out) :: ndens1
integer(kind=ip), intent(out) :: ndens2
integer(kind=ip), intent(out) :: nrank
integer(kind=ip), intent(in) :: nslack
real(kind=rp), intent(out) :: Lmax
real(kind=rp), intent(out) :: Umax
real(kind=rp), intent(out) :: DUmax
real(kind=rp), intent(out) :: DUmin
real(kind=rp), intent(out) :: Akmax

private subroutine lu1gau(m, melim, ncold, nspare, small, lpivc1, lpivc2, lfirst, lpivr2, lfree, minfre, ilast, jlast, lrow, lcol, lu, nfill, a, indc, indr, lenc, lenr, locc, locr, mark, al, markl, au, ifill, jfill)

Arguments

Type IntentOptional Attributes Name
integer(kind=ip), intent(in) :: m
integer(kind=ip), intent(in) :: melim
integer(kind=ip), intent(in) :: ncold
integer(kind=ip), intent(in) :: nspare
real(kind=rp), intent(in) :: small
integer(kind=ip), intent(in) :: lpivc1
integer(kind=ip), intent(in) :: lpivc2
integer(kind=ip), intent(inout) :: lfirst
integer(kind=ip), intent(in) :: lpivr2
integer(kind=ip), intent(in) :: lfree
integer(kind=ip), intent(in) :: minfre
integer(kind=ip), intent(inout) :: ilast
integer(kind=ip), intent(inout) :: jlast
integer(kind=ip), intent(inout) :: lrow
integer(kind=ip), intent(inout) :: lcol
integer(kind=ip), intent(inout) :: lu
integer(kind=ip), intent(inout) :: nfill
real(kind=rp), intent(inout) :: a(*)
integer(kind=ip), intent(inout) :: indc(*)
integer(kind=ip), intent(inout) :: indr(*)
integer(kind=ip), intent(inout) :: lenc(*)
integer(kind=ip), intent(inout) :: lenr(*)
integer(kind=ip), intent(inout) :: locc(*)
integer(kind=ip), intent(in) :: locr(*)
integer(kind=ip), intent(in) :: mark(*)
real(kind=rp), intent(in) :: al(melim)
integer(kind=ip), intent(inout) :: markl(melim)
real(kind=rp), intent(in) :: au(ncold)
integer(kind=ip), intent(inout) :: ifill(melim)
integer(kind=ip), intent(inout) :: jfill(ncold)

private subroutine lu1mar(m, n, lena, maxmn, TCP, aijtol, Ltol, maxcol, maxrow, ibest, jbest, mbest, a, indc, indr, p, q, lenc, lenr, locc, locr, iploc, iqloc)

! TPP ! Absolute test for Complete Pivoting

Arguments

Type IntentOptional Attributes Name
integer(kind=ip), intent(in) :: m
integer(kind=ip), intent(in) :: n
integer(kind=ip), intent(in) :: lena
integer(kind=ip), intent(in) :: maxmn
logical, intent(in) :: TCP
real(kind=rp), intent(in) :: aijtol
real(kind=rp), intent(in) :: Ltol
integer(kind=ip), intent(in) :: maxcol
integer(kind=ip), intent(in) :: maxrow
integer(kind=ip), intent(out) :: ibest
integer(kind=ip), intent(out) :: jbest
integer(kind=ip), intent(out) :: mbest
real(kind=rp), intent(in) :: a(lena)
integer(kind=ip), intent(in) :: indc(lena)
integer(kind=ip), intent(in) :: indr(lena)
integer(kind=ip), intent(in) :: p(m)
integer(kind=ip), intent(in) :: q(n)
integer(kind=ip), intent(in) :: lenc(n)
integer(kind=ip), intent(in) :: lenr(m)
integer(kind=ip), intent(in) :: locc(n)
integer(kind=ip), intent(in) :: locr(m)
integer(kind=ip), intent(in) :: iploc(n)
integer(kind=ip), intent(in) :: iqloc(m)

private subroutine lu1mRP(m, n, lena, maxmn, Ltol, maxcol, maxrow, ibest, jbest, mbest, a, indc, indr, p, q, lenc, lenr, locc, locr, iploc, iqloc, Amaxr)

Arguments

Type IntentOptional Attributes Name
integer(kind=ip), intent(in) :: m
integer(kind=ip), intent(in) :: n
integer(kind=ip), intent(in) :: lena
integer(kind=ip), intent(in) :: maxmn
real(kind=rp), intent(in) :: Ltol
integer(kind=ip), intent(in) :: maxcol
integer(kind=ip), intent(in) :: maxrow
integer(kind=ip), intent(out) :: ibest
integer(kind=ip), intent(out) :: jbest
integer(kind=ip), intent(out) :: mbest
real(kind=rp), intent(in) :: a(lena)
integer(kind=ip), intent(in) :: indc(lena)
integer(kind=ip), intent(in) :: indr(lena)
integer(kind=ip), intent(in) :: p(m)
integer(kind=ip), intent(in) :: q(n)
integer(kind=ip), intent(in) :: lenc(n)
integer(kind=ip), intent(in) :: lenr(m)
integer(kind=ip), intent(in) :: locc(n)
integer(kind=ip), intent(in) :: locr(m)
integer(kind=ip), intent(in) :: iploc(n)
integer(kind=ip), intent(in) :: iqloc(m)
real(kind=rp), intent(in) :: Amaxr(m)

private subroutine lu1mCP(m, n, lena, aijtol, ibest, jbest, mbest, a, indc, indr, lenc, lenr, locc, Hlen, Ha, Hj)

Arguments

Type IntentOptional Attributes Name
integer(kind=ip), intent(in) :: m
integer(kind=ip), intent(in) :: n
integer(kind=ip), intent(in) :: lena
real(kind=rp), intent(in) :: aijtol
integer(kind=ip), intent(out) :: ibest
integer(kind=ip), intent(out) :: jbest
integer(kind=ip), intent(out) :: mbest
real(kind=rp), intent(in) :: a(lena)
integer(kind=ip), intent(in) :: indc(lena)
integer(kind=ip), intent(in) :: indr(lena)
integer(kind=ip), intent(in) :: lenc(n)
integer(kind=ip), intent(in) :: lenr(m)
integer(kind=ip), intent(in) :: locc(n)
integer(kind=ip), intent(in) :: Hlen
real(kind=rp), intent(in) :: Ha(Hlen)
integer(kind=ip), intent(in) :: Hj(Hlen)

private subroutine lu1mSP(m, n, lena, maxmn, Ltol, maxcol, ibest, jbest, mbest, a, indc, q, locc, iqloc)

Arguments

Type IntentOptional Attributes Name
integer(kind=ip), intent(in) :: m
integer(kind=ip), intent(in) :: n
integer(kind=ip), intent(in) :: lena
integer(kind=ip), intent(in) :: maxmn
real(kind=rp), intent(in) :: Ltol
integer(kind=ip), intent(in) :: maxcol
integer(kind=ip), intent(out) :: ibest
integer(kind=ip), intent(out) :: jbest
integer(kind=ip), intent(out) :: mbest
real(kind=rp), intent(in) :: a(lena)
integer(kind=ip), intent(in) :: indc(lena)
integer(kind=ip), intent(in) :: q(n)
integer(kind=ip), intent(in) :: locc(n)
integer(kind=ip), intent(in) :: iqloc(m)

private subroutine lu1pen(m, melim, ncold, nspare, ilast, lpivc1, lpivc2, lpivr1, lpivr2, lrow, lenc, lenr, locc, locr, indc, indr, ifill, jfill)

Arguments

Type IntentOptional Attributes Name
integer(kind=ip), intent(in) :: m
integer(kind=ip), intent(in) :: melim
integer(kind=ip), intent(in) :: ncold
integer(kind=ip), intent(in) :: nspare
integer(kind=ip), intent(out) :: ilast
integer(kind=ip), intent(in) :: lpivc1
integer(kind=ip), intent(in) :: lpivc2
integer(kind=ip), intent(in) :: lpivr1
integer(kind=ip), intent(in) :: lpivr2
integer(kind=ip), intent(inout) :: lrow
integer(kind=ip), intent(inout) :: lenc(*)
integer(kind=ip), intent(inout) :: lenr(*)
integer(kind=ip), intent(in) :: locc(*)
integer(kind=ip), intent(inout) :: locr(*)
integer(kind=ip), intent(inout) :: indc(*)
integer(kind=ip), intent(inout) :: indr(*)
integer(kind=ip), intent(in) :: ifill(melim)
integer(kind=ip), intent(in) :: jfill(ncold)

private subroutine lu1mxc(k1, k2, q, a, indc, lenc, locc)

Arguments

Type IntentOptional Attributes Name
integer(kind=ip), intent(in) :: k1
integer(kind=ip), intent(in) :: k2
integer(kind=ip), intent(in) :: q(k2)
real(kind=rp), intent(inout) :: a(*)
integer(kind=ip), intent(inout) :: indc(*)
integer(kind=ip), intent(in) :: lenc(*)
integer(kind=ip), intent(in) :: locc(*)

private subroutine lu1mxr(mark, k1, k2, m, n, lena, inform, a, indc, lenc, locc, indr, lenr, locr, p, markc, markr, Amaxr)

Arguments

Type IntentOptional Attributes Name
integer(kind=ip), intent(in) :: mark
integer(kind=ip), intent(in) :: k1
integer(kind=ip), intent(in) :: k2
integer(kind=ip), intent(in) :: m
integer(kind=ip), intent(in) :: n
integer(kind=ip), intent(in) :: lena
integer(kind=ip), intent(out) :: inform
real(kind=rp), intent(in) :: a(lena)
integer(kind=ip), intent(in) :: indc(lena)
integer(kind=ip), intent(in) :: lenc(n)
integer(kind=ip), intent(in) :: locc(n)
integer(kind=ip), intent(in) :: indr(lena)
integer(kind=ip), intent(in) :: lenr(m)
integer(kind=ip), intent(in) :: locr(m)
integer(kind=ip), intent(in) :: p(k2)
integer(kind=ip), intent(inout) :: markc(n)
integer(kind=ip), intent(inout) :: markr(m)
real(kind=rp), intent(inout) :: Amaxr(m)

private subroutine lu1or1(m, n, nelem, lena, small, a, indc, indr, lenc, lenr, Amax, numnz, lerr, inform)

Arguments

Type IntentOptional Attributes Name
integer(kind=ip), intent(in) :: m
integer(kind=ip), intent(in) :: n
integer(kind=ip), intent(in) :: nelem
integer(kind=ip), intent(in) :: lena
real(kind=rp), intent(in) :: small
real(kind=rp), intent(inout) :: a(lena)
integer(kind=ip), intent(inout) :: indc(lena)
integer(kind=ip), intent(inout) :: indr(lena)
integer(kind=ip), intent(out) :: lenc(n)
integer(kind=ip), intent(out) :: lenr(m)
real(kind=rp) :: Amax
integer(kind=ip) :: numnz
integer(kind=ip), intent(out) :: lerr
integer(kind=ip), intent(out) :: inform

private subroutine lu1or2(n, numa, lena, a, inum, jnum, lenc, locc)

Arguments

Type IntentOptional Attributes Name
integer(kind=ip), intent(in) :: n
integer(kind=ip), intent(in) :: numa
integer(kind=ip), intent(in) :: lena
real(kind=rp), intent(inout) :: a(lena)
integer(kind=ip), intent(inout) :: inum(lena)
integer(kind=ip), intent(inout) :: jnum(lena)
integer(kind=ip), intent(in) :: lenc(n)
integer(kind=ip), intent(out) :: locc(n)

private subroutine lu1or3(m, n, lena, indc, lenc, locc, iw, lerr, inform)

Arguments

Type IntentOptional Attributes Name
integer(kind=ip), intent(in) :: m
integer(kind=ip), intent(in) :: n
integer(kind=ip), intent(in) :: lena
integer(kind=ip), intent(in) :: indc(lena)
integer(kind=ip), intent(in) :: lenc(n)
integer(kind=ip), intent(in) :: locc(n)
integer(kind=ip), intent(out) :: iw(m)
integer(kind=ip), intent(out) :: lerr
integer(kind=ip), intent(out) :: inform

private subroutine lu1or4(m, n, nelem, lena, indc, indr, lenc, lenr, locc, locr)

Arguments

Type IntentOptional Attributes Name
integer(kind=ip), intent(in) :: m
integer(kind=ip), intent(in) :: n
integer(kind=ip), intent(in) :: nelem
integer(kind=ip), intent(in) :: lena
integer(kind=ip), intent(in) :: indc(lena)
integer(kind=ip), intent(out) :: indr(lena)
integer(kind=ip), intent(in) :: lenc(n)
integer(kind=ip), intent(in) :: lenr(m)
integer(kind=ip), intent(in) :: locc(n)
integer(kind=ip), intent(out) :: locr(m)

private subroutine lu1pq1(m, n, len, iperm, loc, inv, num)

Arguments

Type IntentOptional Attributes Name
integer(kind=ip), intent(in) :: m
integer(kind=ip), intent(in) :: n
integer(kind=ip), intent(in) :: len(m)
integer(kind=ip), intent(out) :: iperm(m)
integer(kind=ip), intent(out) :: loc(n)
integer(kind=ip), intent(out) :: inv(m)
integer(kind=ip), intent(out) :: num(n)

private subroutine lu1pq2(nzpiv, nzchng, indr, lenold, lennew, iqloc, q, iqinv)

Arguments

Type IntentOptional Attributes Name
integer(kind=ip), intent(in) :: nzpiv
integer(kind=ip), intent(out) :: nzchng
integer(kind=ip), intent(inout) :: indr(nzpiv)
integer(kind=ip), intent(in) :: lenold(nzpiv)
integer(kind=ip), intent(in) :: lennew(*)
integer(kind=ip), intent(inout) :: iqloc(*)
integer(kind=ip), intent(inout) :: q(*)
integer(kind=ip), intent(inout) :: iqinv(*)

private subroutine lu1pq3(n, len, iperm, iw, nrank)

Arguments

Type IntentOptional Attributes Name
integer(kind=ip), intent(in) :: n
integer(kind=ip), intent(in) :: len(n)
integer(kind=ip), intent(inout) :: iperm(n)
integer(kind=ip), intent(out) :: iw(n)
integer(kind=ip) :: nrank

private subroutine lu1rec(n, reals, luparm, ltop, ilast, lena, a, ind, lenc, locc)

Arguments

Type IntentOptional Attributes Name
integer(kind=ip), intent(in) :: n
logical, intent(in) :: reals
integer(kind=ip), intent(inout) :: luparm(30)
integer(kind=ip), intent(inout) :: ltop
integer(kind=ip), intent(out) :: ilast
integer(kind=ip), intent(in) :: lena
real(kind=rp), intent(inout) :: a(lena)
integer(kind=ip), intent(inout) :: ind(lena)
integer(kind=ip), intent(inout) :: lenc(n)
integer(kind=ip), intent(inout) :: locc(n)

private subroutine lu1slk(m, n, lena, q, iqloc, a, indc, locc, nslack, w)

Arguments

Type IntentOptional Attributes Name
integer(kind=ip), intent(in) :: m
integer(kind=ip), intent(in) :: n
integer(kind=ip), intent(in) :: lena
integer(kind=ip), intent(in) :: q(n)
integer(kind=ip), intent(in) :: iqloc(m)
real(kind=rp), intent(in) :: a(lena)
integer(kind=ip), intent(in) :: indc(lena)
integer(kind=ip), intent(in) :: locc(n)
integer(kind=ip), intent(out) :: nslack
real(kind=rp), intent(out) :: w(n)

private subroutine lu1ful(m, n, lena, lenD, lu1, TPP, mleft, nleft, nrank, nrowu, lenL, lenU, nsing, keepLU, small, a, d, indc, indr, p, q, lenc, lenr, locc, ipinv, ipvt)

Arguments

Type IntentOptional Attributes Name
integer(kind=ip), intent(in) :: m
integer(kind=ip), intent(in) :: n
integer(kind=ip), intent(in) :: lena
integer(kind=ip), intent(in) :: lenD
integer(kind=ip), intent(in) :: lu1
logical, intent(in) :: TPP
integer(kind=ip), intent(in) :: mleft
integer(kind=ip), intent(in) :: nleft
integer(kind=ip), intent(in) :: nrank
integer(kind=ip), intent(in) :: nrowu
integer(kind=ip), intent(inout) :: lenL
integer(kind=ip), intent(inout) :: lenU
integer(kind=ip), intent(out) :: nsing
logical, intent(in) :: keepLU
real(kind=rp), intent(in) :: small
real(kind=rp), intent(inout) :: a(lena)
real(kind=rp), intent(out) :: d(lenD)
integer(kind=ip), intent(inout) :: indc(lena)
integer(kind=ip), intent(inout) :: indr(lena)
integer(kind=ip), intent(inout) :: p(m)
integer(kind=ip), intent(inout) :: q(n)
integer(kind=ip), intent(inout) :: lenc(n)
integer(kind=ip), intent(inout) :: lenr(m)
integer(kind=ip), intent(in) :: locc(n)
integer(kind=ip), intent(out) :: ipinv(m)
integer(kind=ip), intent(out) :: ipvt(m)

private subroutine lu1DPP(a, lda, m, n, small, nsing, ipvt, q)

Arguments

Type IntentOptional Attributes Name
real(kind=rp), intent(inout) :: a(lda,n)
integer(kind=ip), intent(in) :: lda
integer(kind=ip), intent(in) :: m
integer(kind=ip), intent(in) :: n
real(kind=rp), intent(in) :: small
integer(kind=ip), intent(out) :: nsing
integer(kind=ip), intent(out) :: ipvt(m)
integer(kind=ip), intent(inout) :: q(n)

private subroutine lu1DCP(a, lda, m, n, small, nsing, ipvt, q)

Arguments

Type IntentOptional Attributes Name
real(kind=rp), intent(inout) :: a(lda,n)
integer(kind=ip), intent(in) :: lda
integer(kind=ip), intent(in) :: m
integer(kind=ip), intent(in) :: n
real(kind=rp), intent(in) :: small
integer(kind=ip), intent(out) :: nsing
integer(kind=ip), intent(out) :: ipvt(m)
integer(kind=ip), intent(inout) :: q(n)

private subroutine Hbuild(Ha, Hj, Hk, N, Nk, hops)

Arguments

Type IntentOptional Attributes Name
real(kind=rp), intent(inout) :: Ha(N)
integer(kind=ip), intent(inout) :: Hj(N)
integer(kind=ip), intent(inout) :: Hk(Nk)
integer(kind=ip), intent(in) :: N
integer(kind=ip), intent(in) :: Nk
integer(kind=ip), intent(out) :: hops

private subroutine Hchange(Ha, Hj, Hk, N, Nk, k, v, jv, hops)

Arguments

Type IntentOptional Attributes Name
real(kind=rp), intent(inout) :: Ha(N)
integer(kind=ip), intent(inout) :: Hj(N)
integer(kind=ip), intent(inout) :: Hk(Nk)
integer(kind=ip), intent(in) :: N
integer(kind=ip), intent(in) :: Nk
integer(kind=ip), intent(in) :: k
real(kind=rp), intent(in) :: v
integer(kind=ip), intent(in) :: jv
integer(kind=ip), intent(out) :: hops

private subroutine Hdelete(Ha, Hj, Hk, Nin, N, Nk, k, hops)

Arguments

Type IntentOptional Attributes Name
real(kind=rp), intent(inout) :: Ha(Nin)
integer(kind=ip), intent(inout) :: Hj(Nin)
integer(kind=ip), intent(inout) :: Hk(Nk)
integer(kind=ip), intent(in) :: Nin
integer(kind=ip), intent(inout) :: N
integer(kind=ip), intent(in) :: Nk
integer(kind=ip), intent(in) :: k
integer(kind=ip), intent(out) :: hops

private subroutine Hdown(Ha, Hj, Hk, N, Nk, kk, hops)

Arguments

Type IntentOptional Attributes Name
real(kind=rp), intent(inout) :: Ha(N)
integer(kind=ip), intent(inout) :: Hj(N)
integer(kind=ip), intent(inout) :: Hk(Nk)
integer(kind=ip), intent(in) :: N
integer(kind=ip), intent(in) :: Nk
integer(kind=ip), intent(in) :: kk
integer(kind=ip), intent(out) :: hops

private subroutine Hinsert(Ha, Hj, Hk, N, Nk, v, jv, hops)

Arguments

Type IntentOptional Attributes Name
real(kind=rp), intent(inout) :: Ha(N)
integer(kind=ip), intent(inout) :: Hj(N)
integer(kind=ip), intent(inout) :: Hk(Nk)
integer(kind=ip), intent(inout) :: N
integer(kind=ip), intent(in) :: Nk
real(kind=rp), intent(in) :: v
integer(kind=ip), intent(in) :: jv
integer(kind=ip), intent(out) :: hops

private subroutine Hup(Ha, Hj, Hk, N, Nk, kk, hops)

Arguments

Type IntentOptional Attributes Name
real(kind=rp), intent(inout) :: Ha(N)
integer(kind=ip), intent(inout) :: Hj(N)
integer(kind=ip), intent(inout) :: Hk(Nk)
integer(kind=ip), intent(in) :: N
integer(kind=ip), intent(in) :: Nk
integer(kind=ip), intent(in) :: kk
integer(kind=ip), intent(out) :: hops

public subroutine lu6sol(mode, m, n, v, w, lena, luparm, parmlu, a, indc, indr, p, q, lenc, lenr, locc, locr, inform)

Arguments

Type IntentOptional Attributes Name
integer(kind=ip), intent(in) :: mode
integer(kind=ip), intent(in) :: m
integer(kind=ip), intent(in) :: n
real(kind=rp), intent(inout) :: v(m)
real(kind=rp), intent(inout) :: w(n)
integer(kind=ip), intent(in) :: lena
integer(kind=ip), intent(inout) :: luparm(30)
real(kind=rp), intent(inout) :: parmlu(30)
real(kind=rp), intent(in) :: a(lena)
integer(kind=ip), intent(in) :: indc(lena)
integer(kind=ip), intent(in) :: indr(lena)
integer(kind=ip), intent(in) :: p(m)
integer(kind=ip), intent(in) :: q(n)
integer(kind=ip), intent(in) :: lenc(n)
integer(kind=ip), intent(in) :: lenr(m)
integer(kind=ip), intent(in) :: locc(n)
integer(kind=ip), intent(in) :: locr(m)
integer(kind=ip), intent(out) :: inform

private subroutine lu6L(inform, m, n, v, lena, luparm, parmlu, a, indc, indr, lenc)

Arguments

Type IntentOptional Attributes Name
integer(kind=ip), intent(out) :: inform
integer(kind=ip), intent(in) :: m
integer(kind=ip), intent(in) :: n
real(kind=rp), intent(inout) :: v(m)
integer(kind=ip), intent(in) :: lena
integer(kind=ip), intent(inout) :: luparm(30)
real(kind=rp), intent(inout) :: parmlu(30)
real(kind=rp), intent(in) :: a(lena)
integer(kind=ip), intent(in) :: indc(lena)
integer(kind=ip), intent(in) :: indr(lena)
integer(kind=ip), intent(in) :: lenc(n)

private subroutine lu6Lt(inform, m, n, v, lena, luparm, parmlu, a, indc, indr, lenc)

Arguments

Type IntentOptional Attributes Name
integer(kind=ip), intent(out) :: inform
integer(kind=ip), intent(in) :: m
integer(kind=ip), intent(in) :: n
real(kind=rp), intent(inout) :: v(m)
integer(kind=ip), intent(in) :: lena
integer(kind=ip), intent(inout) :: luparm(30)
real(kind=rp), intent(inout) :: parmlu(30)
real(kind=rp), intent(in) :: a(lena)
integer(kind=ip), intent(in) :: indc(lena)
integer(kind=ip), intent(in) :: indr(lena)
integer(kind=ip), intent(in) :: lenc(n)

private subroutine lu6U(inform, m, n, v, w, lena, luparm, parmlu, a, indr, p, q, lenr, locr)

Arguments

Type IntentOptional Attributes Name
integer(kind=ip), intent(out) :: inform
integer(kind=ip), intent(in) :: m
integer(kind=ip), intent(in) :: n
real(kind=rp), intent(in) :: v(m)
real(kind=rp), intent(out) :: w(n)
integer(kind=ip), intent(in) :: lena
integer(kind=ip), intent(inout) :: luparm(30)
real(kind=rp), intent(inout) :: parmlu(30)
real(kind=rp), intent(in) :: a(lena)
integer(kind=ip), intent(in) :: indr(lena)
integer(kind=ip), intent(in) :: p(m)
integer(kind=ip), intent(in) :: q(n)
integer(kind=ip), intent(in) :: lenr(m)
integer(kind=ip), intent(in) :: locr(m)

private subroutine lu6Ut(inform, m, n, v, w, lena, luparm, parmlu, a, indr, p, q, lenr, locr)

Arguments

Type IntentOptional Attributes Name
integer(kind=ip), intent(out) :: inform
integer(kind=ip), intent(in) :: m
integer(kind=ip), intent(in) :: n
real(kind=rp), intent(out) :: v(m)
real(kind=rp), intent(inout) :: w(n)
integer(kind=ip), intent(in) :: lena
integer(kind=ip), intent(inout) :: luparm(30)
real(kind=rp), intent(inout) :: parmlu(30)
real(kind=rp), intent(in) :: a(lena)
integer(kind=ip), intent(in) :: indr(lena)
integer(kind=ip), intent(in) :: p(m)
integer(kind=ip), intent(in) :: q(n)
integer(kind=ip), intent(in) :: lenr(m)
integer(kind=ip), intent(in) :: locr(m)

private subroutine lu6LD(inform, mode, m, n, v, lena, luparm, parmlu, a, indc, indr, lenc, locr)

Arguments

Type IntentOptional Attributes Name
integer(kind=ip), intent(out) :: inform
integer(kind=ip), intent(in) :: mode
integer(kind=ip), intent(in) :: m
integer(kind=ip), intent(in) :: n
real(kind=rp), intent(inout) :: v(m)
integer(kind=ip), intent(in) :: lena
integer(kind=ip), intent(inout) :: luparm(30)
real(kind=rp), intent(inout) :: parmlu(30)
real(kind=rp), intent(in) :: a(lena)
integer(kind=ip), intent(in) :: indc(lena)
integer(kind=ip), intent(in) :: indr(lena)
integer(kind=ip), intent(in) :: lenc(n)
integer(kind=ip), intent(in) :: locr(m)

private subroutine lu6chk(mode, m, n, nslack, w, lena, luparm, parmlu, a, indc, indr, p, q, lenc, lenr, locc, locr, inform)

Arguments

Type IntentOptional Attributes Name
integer(kind=ip), intent(in) :: mode
integer(kind=ip), intent(in) :: m
integer(kind=ip), intent(in) :: n
integer(kind=ip), intent(in) :: nslack
real(kind=rp), intent(inout) :: w(n)
integer(kind=ip), intent(in) :: lena
integer(kind=ip), intent(inout) :: luparm(30)
real(kind=rp), intent(inout) :: parmlu(30)
real(kind=rp), intent(in) :: a(lena)
integer(kind=ip), intent(in) :: indc(lena)
integer(kind=ip), intent(in) :: indr(lena)
integer(kind=ip), intent(in) :: p(m)
integer(kind=ip), intent(in) :: q(n)
integer(kind=ip), intent(in) :: lenc(n)
integer(kind=ip), intent(in) :: lenr(m)
integer(kind=ip), intent(in) :: locc(n)
integer(kind=ip), intent(in) :: locr(m)
integer(kind=ip), intent(inout) :: inform

private subroutine lu7add(m, n, jadd, v, lena, luparm, parmlu, lenL, lenU, lrow, nrank, a, indr, p, lenr, locr, inform, klast, vnorm)

Arguments

Type IntentOptional Attributes Name
integer(kind=ip), intent(in) :: m
integer(kind=ip), intent(in) :: n
integer(kind=ip), intent(in) :: jadd
real(kind=rp), intent(inout) :: v(m)
integer(kind=ip), intent(in) :: lena
integer(kind=ip), intent(inout) :: luparm(30)
real(kind=rp), intent(inout) :: parmlu(30)
integer(kind=ip), intent(inout) :: lenL
integer(kind=ip), intent(inout) :: lenU
integer(kind=ip), intent(inout) :: lrow
integer(kind=ip), intent(in) :: nrank
real(kind=rp), intent(inout) :: a(lena)
integer(kind=ip), intent(inout) :: indr(lena)
integer(kind=ip), intent(in) :: p(m)
integer(kind=ip), intent(inout) :: lenr(m)
integer(kind=ip), intent(inout) :: locr(m)
integer(kind=ip), intent(out) :: inform
integer(kind=ip), intent(out) :: klast
real(kind=rp), intent(out) :: vnorm

private subroutine lu7cyc(kfirst, klast, p)

Arguments

Type IntentOptional Attributes Name
integer(kind=ip), intent(in) :: kfirst
integer(kind=ip), intent(in) :: klast
integer(kind=ip), intent(inout) :: p(klast)

private subroutine lu7elm(m, n, jelm, v, lena, luparm, parmlu, lenL, lenU, lrow, nrank, a, indc, indr, p, q, lenr, locc, locr, inform, diag)

Arguments

Type IntentOptional Attributes Name
integer(kind=ip), intent(in) :: m
integer(kind=ip), intent(in) :: n
integer(kind=ip), intent(in) :: jelm
real(kind=rp), intent(in) :: v(m)
integer(kind=ip), intent(in) :: lena
integer(kind=ip), intent(inout) :: luparm(30)
real(kind=rp), intent(inout) :: parmlu(30)
integer(kind=ip), intent(inout) :: lenL
integer(kind=ip), intent(in) :: lenU
integer(kind=ip), intent(inout) :: lrow
integer(kind=ip), intent(in) :: nrank
real(kind=rp), intent(inout) :: a(lena)
integer(kind=ip), intent(inout) :: indc(lena)
integer(kind=ip), intent(inout) :: indr(lena)
integer(kind=ip), intent(inout) :: p(m)
integer(kind=ip), intent(in) :: q(n)
integer(kind=ip), intent(inout) :: lenr(m)
integer(kind=ip), intent(inout) :: locc(n)
integer(kind=ip), intent(inout) :: locr(m)
integer(kind=ip), intent(out) :: inform
real(kind=rp), intent(out) :: diag

private subroutine lu7for(m, n, kfirst, klast, lena, luparm, parmlu, lenL, lenU, lrow, a, indc, indr, p, q, lenr, locc, locr, inform, diag)

Arguments

Type IntentOptional Attributes Name
integer(kind=ip), intent(in) :: m
integer(kind=ip), intent(in) :: n
integer(kind=ip), intent(in) :: kfirst
integer(kind=ip), intent(in) :: klast
integer(kind=ip), intent(in) :: lena
integer(kind=ip), intent(inout) :: luparm(30)
real(kind=rp), intent(inout) :: parmlu(30)
integer(kind=ip), intent(inout) :: lenL
integer(kind=ip), intent(inout) :: lenU
integer(kind=ip), intent(inout) :: lrow
real(kind=rp), intent(inout) :: a(lena)
integer(kind=ip), intent(inout) :: indc(lena)
integer(kind=ip), intent(inout) :: indr(lena)
integer(kind=ip), intent(inout) :: p(m)
integer(kind=ip), intent(in) :: q(n)
integer(kind=ip), intent(inout) :: lenr(m)
integer(kind=ip), intent(inout) :: locc(n)
integer(kind=ip), intent(inout) :: locr(m)
integer(kind=ip), intent(out) :: inform
real(kind=rp), intent(out) :: diag

private subroutine lu7rnk(m, n, jsing, lena, parmlu, lenL, lenU, lrow, nrank, a, indc, indr, p, q, lenr, locc, locr, inform, diag)

Arguments

Type IntentOptional Attributes Name
integer(kind=ip), intent(in) :: m
integer(kind=ip), intent(in) :: n
integer(kind=ip), intent(in) :: jsing
integer(kind=ip), intent(in) :: lena
real(kind=rp), intent(inout) :: parmlu(30)
integer(kind=ip), intent(inout) :: lenL
integer(kind=ip), intent(inout) :: lenU
integer(kind=ip), intent(inout) :: lrow
integer(kind=ip), intent(inout) :: nrank
real(kind=rp), intent(inout) :: a(lena)
integer(kind=ip), intent(inout) :: indc(lena)
integer(kind=ip), intent(inout) :: indr(lena)
integer(kind=ip), intent(in) :: p(m)
integer(kind=ip), intent(inout) :: q(n)
integer(kind=ip), intent(inout) :: lenr(m)
integer(kind=ip), intent(inout) :: locc(n)
integer(kind=ip), intent(inout) :: locr(m)
integer(kind=ip), intent(out) :: inform
real(kind=rp), intent(out) :: diag

private subroutine lu7zap(m, n, jzap, kzap, lena, lenU, lrow, nrank, a, indr, p, q, lenr, locr)

Arguments

Type IntentOptional Attributes Name
integer(kind=ip), intent(in) :: m
integer(kind=ip), intent(in) :: n
integer(kind=ip), intent(in) :: jzap
integer(kind=ip), intent(out) :: kzap
integer(kind=ip), intent(in) :: lena
integer(kind=ip), intent(inout) :: lenU
integer(kind=ip), intent(inout) :: lrow
integer(kind=ip), intent(in) :: nrank
real(kind=rp), intent(inout) :: a(lena)
integer(kind=ip), intent(inout) :: indr(lena)
integer(kind=ip), intent(in) :: p(m)
integer(kind=ip), intent(inout) :: q(n)
integer(kind=ip), intent(inout) :: lenr(m)
integer(kind=ip), intent(inout) :: locr(m)

public subroutine lu8rpc(mode1, mode2, m, n, jrep, v, w, lena, luparm, parmlu, a, indc, indr, p, q, lenc, lenr, locc, locr, inform, diag, vnorm)

Arguments

Type IntentOptional Attributes Name
integer(kind=ip), intent(in) :: mode1
integer(kind=ip), intent(in) :: mode2
integer(kind=ip), intent(in) :: m
integer(kind=ip), intent(in) :: n
integer(kind=ip), intent(in) :: jrep
real(kind=rp), intent(inout) :: v(m)
real(kind=rp), intent(inout) :: w(n)
integer(kind=ip), intent(in) :: lena
integer(kind=ip), intent(inout) :: luparm(30)
real(kind=rp), intent(inout) :: parmlu(30)
real(kind=rp), intent(inout) :: a(lena)
integer(kind=ip), intent(inout) :: indc(lena)
integer(kind=ip), intent(inout) :: indr(lena)
integer(kind=ip), intent(inout) :: p(m)
integer(kind=ip), intent(inout) :: q(n)
integer(kind=ip), intent(inout) :: lenc(n)
integer(kind=ip), intent(inout) :: lenr(m)
integer(kind=ip), intent(inout) :: locc(n)
integer(kind=ip), intent(inout) :: locr(m)
integer(kind=ip), intent(out) :: inform
real(kind=rp), intent(out) :: diag
real(kind=rp), intent(out) :: vnorm