SUBROUTINE LA_GETRF( M, N, A, LDA, &
IPIV, INFO )
INTEGER, INTENT(IN) :: LDA, M, N
INTEGER, INTENT(OUT) :: INFO
INTEGER, INTENT( OUT ) :: IPIV( * )
type(wp), INTENT( INOUT ) :: A( LDA, * )
where
type ::= REAL COMPLEX
wp ::= KIND(1.0) KIND(1.0D0)
LA_GETRF computes an factorization of
a general real / complex matrix using partial pivoting
with row interchanges.
References: See [1] and [9,20].
-----------------------------------
LA_GETRS
Real and complex versions.
SUBROUTINE LA_GETRS( TRANS, N, NRHS, &
A, LDA, IPIV, B, LDB, INFO )
CHARACTER(LEN=1), INTENT(IN) :: TRANS
INTEGER, INTENT(IN) :: LDA, LDB, NRHS, N
INTEGER, INTENT(OUT) :: INFO
INTEGER, INTENT(IN) :: IPIV(*)
type(wp), INTENT(IN) :: A(LDA,*)
type(wp), INTENT(INOUT) :: rhs
where
type ::= REAL COMPLEX
wp ::= KIND(1.0) KIND(1.0D0)
rhs ::= B(LDB,*) B(*)
LA_GETRS solves a system of linear equations or
with a general real / complex matrix using the
factorization computed by LA_GETRF.
References: See [1] and [9,20].
-----------------------------------
SUBROUTINE LA_GECON( NORM, N, A, &
LDA, ANORM, RCOND, WORK, &
IWORK, INFO )
CHARACTER(LEN=1), INTENT(IN) :: &
NORM
INTEGER, INTENT(IN) :: LDA, N
INTEGER, INTENT(OUT) :: INFO
REAL(wp), INTENT(IN) :: ANORM
REAL(wp), INTENT(OUT) :: RCOND
INTEGER, INTENT(OUT) :: IWORK( * )
REAL(wp), INTENT(IN) :: A( LDA, * )
REAL(wp), INTENT(OUT) :: WORK( * )
where
wp ::= KIND(1.0) KIND(1.0D0)
Complex version.
SUBROUTINE LA_GECON( NORM, N, A, &
LDA, ANORM, RCOND, WORK, &
RWORK, INFO )
CHARACTER(LEN=1), INTENT(IN) :: &
NORM
INTEGER, INTENT(IN) :: LDA, N
INTEGER, INTENT(OUT) :: INFO
REAL(wp), INTENT(IN) :: ANORM
REAL(wp), INTENT(OUT) :: RCOND, &
RWORK(*)
COMPLEX(wp), INTENT(IN) :: A( LDA, * )
COMPLEX(wp), INTENT(OUT) :: WORK( * )
where
wp ::= KIND(1.0) KIND(1.0D0)
LA_GECON estimates the reciprocal of the condition number of
a general real / complex matrix ,
using the factorization computed by
LA_GETRF.
References: See [1] and [9,20,21].
-----------------------------------
SUBROUTINE LA_GERFS( TRANS, N, NRHS, &
A, LDA, AF, LDAF, IPIV, B, LDB, X, LDX, &
FERR, BERR, WORK, IWORK, INFO )
CHARACTER(LEN=1), INTENT(IN) :: &
TRANS
INTEGER, INTENT(IN) :: LDA, LDAF, LDB, &
LDX, NRHS, N
INTEGER, INTENT(OUT) :: INFO
INTEGER, INTENT(IN) :: IPIV(*)
INTEGER, INTENT(OUT) :: IWORK(*)
REAL(wp), INTENT(OUT) :: err
REAL(wp), INTENT(OUT) :: WORK(*)
REAL(wp), INTENT(IN) :: A(LDA,*), &
AF(LDAF,*), rhs
REAL(wp), INTENT(INOUT) :: sol
where
wp ::= KIND(1.0) KIND(1.0D0)
rhs ::= B(LDB,*) B(*)
sol ::= X(LDX,*) X(*)
err ::= FERR(*), BERR(*) FERR, BERR
Complex version.
SUBROUTINE LA_GERFS( TRANS, N, NRHS, &
A, LDA, AF, LDAF, IPIV, B, LDB, X, LDX, &
FERR, BERR, WORK, RWORK, INFO )
CHARACTER(LEN=1), INTENT(IN) :: &
TRANS
INTEGER, INTENT(IN) :: LDA, LDAF, LDB, &
LDX, NRHS, N
INTEGER, INTENT(OUT) :: INFO
INTEGER, INTENT(IN) :: IPIV(*)
REAL(wp), INTENT(OUT) :: err, RWORK(*)
COMPLEX(wp), INTENT(OUT) :: WORK(*)
COMPLEX(wp), INTENT(IN) :: A(LDA,*), &
AF(LDAF,*), rhs
COMPLEX(wp), INTENT(INOUT) :: sol
where
wp ::= KIND(1.0) KIND(1.0D0)
rhs ::= B(LDB,*) B(*)
sol ::= X(LDX,*) X(*)
err ::= FERR(*), BERR(*) FERR, BERR
LA_GERFS improves the computed solution to a system of linear
equations and provides error bounds and backward error estimates for
the solution.
References: See [1] and [9,21,20].
-----------------------------------
LA_GETRI
Real and complex versions.
SUBROUTINE LA_GETRI( N, A, LDA, IPIV, &
WORK, LWORK, INFO )
INTEGER, INTENT(IN) :: LDA, LWORK, N
INTEGER, INTENT(OUT) :: INFO
INTEGER, INTENT(IN) :: IPIV(*)
type(wp), INTENT(OUT) :: WORK(LWORK)
type(wp), INTENT(INOUT) :: A(LDA,*)
where
type ::= REAL COMPLEX
wp ::= KIND(1.0) KIND(1.0D0)
LA_GETRI computes the inverse of a matrix using the
factorization computed by LA_GETRF.
References: See [1] and [9,20].
-----------------------------------
LA_GEEQU
Real and complex versions.
SUBROUTINE LA_GEEQU( M, N, A, LDA, R, C, &
ROWCND, COLCND, AMAX, INFO )
INTEGER, INTENT(IN) :: LDA, M, N
INTEGER, INTENT(OUT) :: INFO
REAL(wp), INTENT(OUT) :: AMAX, COLCND, &
ROWCND
type(wp), INTENT(IN) :: A( LDA, * )
REAL(wp), INTENT(OUT) :: C( * ), R( * )
where
type ::= REAL COMPLEX
wp ::= KIND(1.0) KIND(1.0D0)
LA_GEEQU computes row and column scalings intended to
equilibrate an general real / complex matrix and reduce its condition number.
References: See [1] and [9,21,20].
-----------------------------------
LA_GBTRF
Real and complex versions.
SUBROUTINE LA_GBTRF( M, N, KL, KU, AB, &
LDAB, IPIV, INFO )
INTEGER, INTENT(IN) :: KL, KU, LDAB, M, N
INTEGER, INTENT(OUT) :: INFO
INTEGER, INTENT(INOUT) :: IPIV(*)
type(wp), INTENT(INOUT) :: AB(LDAB,*)
where
type ::= REAL COMPLEX
wp ::= KIND(1.0) KIND(1.0D0)
LA_GBTRF computes an factorization of a real / complex
band matrix using partial pivoting with row interchanges.
References: See [1] and [9,20].
-----------------------------------
LA_GBTRS
Real and complex versions.
SUBROUTINE LA_GBTRS( TRANS, N, KL, KU, &
NRHS, AB, LDAB, IPIV, B, LDB, INFO )
CHARACTER(LEN=1), INTENT(IN) :: TRANS
INTEGER, INTENT(IN) :: KL, KU, LDAB, LDB, &
N, NRHS
INTEGER, INTENT(OUT) :: INFO
INTEGER, INTENT(IN) :: IPIV(*)
type(wp), INTENT(IN) :: AB( LDAB,*)
type(wp), INTENT(INOUT) :: rhs
where
type ::= REAL COMPLEX
wp ::= KIND(1.0) KIND(1.0D0)
rhs ::= B(LDB,*) B(*)
LA_GBTRS solves a system of linear equations or
with a general real / complex band matrix using the factorization
computed by LA_GBTRF.
References: See [1] and [9,20].
-----------------------------------
SUBROUTINE LA_GBCON( NORM, N, KL, &
KU, AB, LDAB, IPIV, ANORM, &
RCOND, WORK, IWORK, INFO )
CHARACTER(LEN=1), INTENT(IN) :: &
NORM
INTEGER, INTENT(IN) :: KL, KU, LDAB, N
INTEGER, INTENT(OUT) :: INFO
REAL(wp), INTENT(IN) :: ANORM
REAL(wp), INTENT(OUT) :: RCOND
INTEGER, INTENT(IN) :: IPIV( * )
INTEGER, INTENT(OUT) :: IWORK( * )
REAL(wp), INTENT(IN) :: AB( LDAB, * )
REAL(wp), INTENT(OUT) :: WORK( * )
where
wp ::= KIND(1.0) KIND(1.0D0)
Complex version.
SUBROUTINE LA_GBCON( NORM, N, KL, &
KU, AB, LDAB, IPIV, ANORM, &
RCOND, WORK, RWORK, INFO )
CHARACTER(LEN=1), INTENT(IN) :: &
NORM
INTEGER, INTENT(IN) :: KL, KU, LDAB, N
INTEGER, INTENT(OUT) :: INFO
REAL(wp), INTENT(IN) :: ANORM
REAL(wp), INTENT(OUT) :: RCOND
INTEGER, INTENT(IN) :: IPIV( * )
REAL(wp), INTENT(OUT) :: RWORK( * )
COMPLEX(wp), INTENT(IN) :: AB( LDAB, * )
COMPLEX(wp), INTENT(OUT) :: WORK( * )
where
wp ::= KIND(1.0) KIND(1.0D0)
LA_GBCON estimates the reciprocal of the condition number of
a real / complex band matrix ,
using the factorization computed by LA_GBTRF.
References: See [1] and [9,21,20].
-----------------------------------
SUBROUTINE LA_GBCON( TRANS, N, KL, KU, &
NRHS, AB, LDAB, AFB, LDAFB, IPIV, B, &
LDB, X, LDX, FERR, BERR, WORK, &
IWORK, INFO )
CHARACTER(LEN=1), INTENT(IN) :: TRANS
INTEGER, INTENT(IN) :: KL, KU, LDAB, &
LDAFB, LDB, LDX, N, NRHS
INTEGER, INTENT(OUT) :: INFO
INTEGER, INTENT(IN) :: IPIV(*)
INTEGER, INTENT(OUT) :: IWORK(*)
REAL(wp), INTENT(OUT) :: err
REAL(wp), INTENT(IN) :: AB( LDAB,*), &
AFB( LDAFB,*), rhs
REAL(wp), INTENT(OUT) :: WORK(*)
REAL(wp), INTENT(INOUT) :: sol
where
wp ::= KIND(1.0) KIND(1.0D0)
rhs ::= B(LDB,*) B(*)
sol ::= X(LDX,*) X(*)
err ::= FERR(*), BERR(*) FERR, BERR
Complex version.
SUBROUTINE LA_GBRFS( TRANS, N, KL, KU, &
NRHS, AB, LDAB, AFB, LDAFB, IPIV, B, &
LDB, X, LDX, FERR, BERR, WORK, &
RWORK, INFO )
CHARACTER(LEN=1), INTENT(IN) :: TRANS
INTEGER, INTENT(IN) :: KL, KU, LDAB, &
LDAFB, LDB, LDX, N, NRHS
INTEGER, INTENT(OUT) :: INFO
INTEGER, INTENT(IN) :: IPIV(*)
REAL(wp), INTENT(OUT) :: err, RWORK(*)
COMPLEX(wp), INTENT(IN) :: AB( LDAB,*), &
AFB( LDAFB,*), rhs
COMPLEX(wp), INTENT(OUT) :: WORK(*)
COMPLEX(wp), INTENT(INOUT) :: sol
where
wp ::= KIND(1.0) KIND(1.0D0)
rhs ::= B(LDB,*) B(*)
sol ::= X(LDX,*) X(*)
err ::= FERR(*), BERR(*) FERR, BERR
LA_GBRFS improves the computed solution to a system of linear
equations when the coefficient matrix is banded, and provides
error bounds and backward error estimates for the solution.
References: See [1] and [9,21,20].
-----------------------------------
LA_GBEQU
Real and complex versions.
SUBROUTINE LA_GBEQU( M, N, KL, KU, AB, &
LDAB, R, C, ROWCND, COLCND, AMAX, &
INFO )
INTEGER, INTENT(IN) :: KL, KU, LDAB, &
M, N
INTEGER, INTENT(OUT) :: INFO
REAL(wp), INTENT(OUT) :: AMAX, &
COLCND, ROWCND
REAL(wp), INTENT(OUT) :: C(*), R(*)
type(wp), INTENT(IN) :: AB( LDAB,*)
where
type ::= REAL COMPLEX
wp ::= KIND(1.0) KIND(1.0D0)
LA_GBEQU computes row and column scalings intended to
equilibrate an real / complex band matrix and reduce its condition number.
References: See [1] and [9,21,20].
-----------------------------------
LA_GTTRF
Real and complex versions.
SUBROUTINE LA_GTTRF( N, DL, D, DU,
DU2, IPIV, INFO )
INTEGER, INTENT(IN) :: N
INTEGER, INTENT(OUT) :: INFO
INTEGER, INTENT(OUT) :: IPIV(*)
type(wp), INTENT(INOUT) :: D(*), DL(*), DU(*)
type(wp), INTENT(OUT) :: DU2(*)
where
type ::= REAL COMPLEX
wp ::= KIND(1.0) KIND(1.0D0)
LA_SGTTRF computes an factorization of a real / complex
tridiagonal matrix using elimination with partial pivoting and
row interchanges.
References: See [1] and [9,20].
-----------------------------------
LA_GTTRS
Real and complex versions.
SUBROUTINE LA_GTTRS( TRANS, N, NRHS, &
DL, D, DU, DU2, IPIV, B, LDB, INFO )
CHARACTER(LEN=1), INTENT(IN) :: &
TRANS
INTEGER, INTENT(IN) :: LDB, N, NRHS
INTEGER, INTENT(OUT) :: INFO
INTEGER, INTENT(IN) :: IPIV(*)
type(wp), INTENT(IN) :: D(*), DL(*), DU(*), &
DU2(*)
type(wp), INTENT(INOUT) :: rhs
where
type ::= REAL COMPLEX
wp ::= KIND(1.0) KIND(1.0D0)
rhs ::= B(LDB,*) B(*)
LA_GTTRS solves one of the systems of equations or
, with a tridiagonal real / complex matrix using the factorization
computed by LA_GTTRF.
References: See [1] and [9,20].
-----------------------------------
SUBROUTINE LA_GTCON( NORM, N, DL, &
D, DU, DU2, IPIV, ANORM, RCOND, &
WORK, IWORK, INFO )
CHARACTER(LEN=1), INTENT(IN) :: &
NORM
INTEGER, INTENT(IN) :: N
INTEGER, INTENT(OUT) :: INFO, IWORK(*)
REAL(wp), INTENT(IN) :: ANORM
REAL(wp), INTENT(OUT) :: RCOND
INTEGER, INTENT(IN) :: IPIV(*)
REAL(wp), INTENT(IN) :: D(*), DL(*), &
DU(*), DU2(*)
REAL(wp), INTENT(OUT) :: WORK(*)
where
wp ::= KIND(1.0) KIND(1.0D0)
Complex version.
SUBROUTINE LA_GTCON( NORM, N, DL, &
D, DU, DU2, IPIV, ANORM, RCOND, &
WORK, INFO )
CHARACTER(LEN=1), INTENT(IN) :: &
NORM
INTEGER, INTENT(IN) :: N
INTEGER, INTENT(OUT) :: INFO
REAL(wp), INTENT(IN) :: ANORM
REAL(wp), INTENT(OUT) :: RCOND
INTEGER, INTENT(IN) :: IPIV(*)
COMPLEX(wp), INTENT(IN) :: D(*), DL(*), &
DU(*), DU2(*)
COMPLEX(wp), INTENT(OUT) :: WORK(*)
where
wp ::= KIND(1.0) KIND(1.0D0)
LA_GTCON estimates the reciprocal of the condition number of
a real / complex tridiagonal matrix using the factorization as
computed by LA_GTTRF.
References: See [1] and [9,21,20].
-----------------------------------
SUBROUTINE LA_GTRFS( TRANS, N, NRHS, &
DL, D, DU, DLF, DF, DUF, DU2, IPIV, B, &
LDB, X, LDX, FERR, BERR, WORK, &
IWORK, INFO )
CHARACTER(LEN=1), INTENT(IN) :: TRANS
INTEGER, INTENT(IN) :: LDB, LDX, N, &
NRHS, IPIV(*)
INTEGER, INTENT(OUT) :: INFO, IWORK(*)
REAL(wp), INTENT(OUT) :: err
REAL(wp), INTENT(IN) :: rhs, D(*), DF(*), DL(*), &
DLF(*), DU(*), DU2(*), DUF(*)
REAL(wp), INTENT(INOUT) :: sol
REAL(wp), INTENT(OUT) :: WORK(*)
where
wp ::= KIND(1.0) KIND(1.0D0)
rhs ::= B(LDB,*) B(*)
sol ::= X(LDX,*) X(*)
err ::= FERR(*), BERR(*) FERR, BERR
Complex version.
SUBROUTINE LA_GTRFS( TRANS, N, NRHS, &
DL, D, DU, DLF, DF, DUF, DU2, IPIV, B, &
LDB, X, LDX, FERR, BERR, WORK, &
RWORK, INFO )
CHARACTER(LEN=1), INTENT(IN) :: &
TRANS
INTEGER, INTENT(IN) :: LDB, LDX, N, &
NRHS, IPIV(*)
INTEGER, INTENT(OUT) :: INFO
REAL(wp), INTENT(OUT) :: err, RWORK(*)
COMPLEX(wp), INTENT(IN) :: rhs, D(*), DF(*), DL(*), &
DLF(*), DU(*), DU2(*), DUF(*)
COMPLEX(wp), INTENT(INOUT) :: sol
COMPLEX(wp), INTENT(OUT) :: WORK(*)
where
wp ::= KIND(1.0) KIND(1.0D0)
rhs ::= B(LDB,*) B(*)
sol ::= X(LDX,*) X(*)
err ::= FERR(*), BERR(*) FERR, BERR
LA_GTRFS improves the computed solution to a system of linear
equations when the coefficient matrix is tridiagonal, and provides
error bounds and backward error estimates for the solution.
References: See [1] and [9,21,20].
-----------------------------------