fortran-lapack
|
Data Types | |
interface | la_selctg_c |
interface | la_selctg_d |
interface | la_selctg_q |
interface | la_selctg_s |
interface | la_selctg_w |
interface | la_selctg_z |
interface | la_select_c |
interface | la_select_d |
interface | la_select_q |
interface | la_select_s |
interface | la_select_w |
interface | la_select_z |
Functions/Subroutines | |
pure character function, public | la_chla_transtype (trans) |
This subroutine translates from a BLAST-specified integer constant to the character string specifying a transposition operation. CHLA_TRANSTYPE: returns an CHARACTER*1. If CHLA_TRANSTYPE: is 'X', then input is not an integer indicating a transposition operator. Otherwise CHLA_TRANSTYPE returns the constant value corresponding to TRANS. | |
pure real(dp) function, public | la_droundup_lwork (lwork) |
DROUNDUP_LWORK: deals with a subtle bug with returning LWORK as a Float. This routine guarantees it is rounded up instead of down by multiplying LWORK by 1+eps when it is necessary, where eps is the relative machine precision. E.g., float( 9007199254740993 ) == 9007199254740992 float( 9007199254740993 ) * (1.+eps) == 9007199254740994. | |
pure integer(ilp) function, public | la_icmax1 (n, cx, incx) |
ICMAX1: finds the index of the first vector element of maximum absolute value. Based on ICAMAX from Level 1 BLAS. The change is to use the 'genuine' absolute value. | |
pure integer(ilp) function, public | la_ieeeck (ispec, zero, one) |
IEEECK: is called from the ILAENV to verify that Infinity and possibly NaN arithmetic is safe (i.e. will not trap). | |
pure integer(ilp) function, public | la_ilaclc (m, n, a, lda) |
ILACLC: scans A for its last non-zero column. | |
pure integer(ilp) function, public | la_ilaclr (m, n, a, lda) |
ILACLR: scans A for its last non-zero row. | |
integer(ilp) function, public | la_iladiag (diag) |
This subroutine translated from a character string specifying if a matrix has unit diagonal or not to the relevant BLAST-specified integer constant. ILADIAG: returns an INTEGER. If ILADIAG: < 0, then the input is not a character indicating a unit or non-unit diagonal. Otherwise ILADIAG returns the constant value corresponding to DIAG. | |
pure integer(ilp) function, public | la_iladlc (m, n, a, lda) |
ILADLC: scans A for its last non-zero column. | |
pure integer(ilp) function, public | la_iladlr (m, n, a, lda) |
ILADLR: scans A for its last non-zero row. | |
integer(ilp) function, public | la_ilaprec (prec) |
This subroutine translated from a character string specifying an intermediate precision to the relevant BLAST-specified integer constant. ILAPREC: returns an INTEGER. If ILAPREC: < 0, then the input is not a character indicating a supported intermediate precision. Otherwise ILAPREC returns the constant value corresponding to PREC. | |
pure integer(ilp) function, public | la_ilaslc (m, n, a, lda) |
ILASLC: scans A for its last non-zero column. | |
pure integer(ilp) function, public | la_ilaslr (m, n, a, lda) |
ILASLR: scans A for its last non-zero row. | |
integer(ilp) function, public | la_ilatrans (trans) |
This subroutine translates from a character string specifying a transposition operation to the relevant BLAST-specified integer constant. ILATRANS: returns an INTEGER. If ILATRANS: < 0, then the input is not a character indicating a transposition operator. Otherwise ILATRANS returns the constant value corresponding to TRANS. | |
integer(ilp) function, public | la_ilauplo (uplo) |
This subroutine translated from a character string specifying a upper- or lower-triangular matrix to the relevant BLAST-specified integer constant. ILAUPLO: returns an INTEGER. If ILAUPLO: < 0, then the input is not a character indicating an upper- or lower-triangular matrix. Otherwise ILAUPLO returns the constant value corresponding to UPLO. | |
pure integer(ilp) function, public | la_ilazlc (m, n, a, lda) |
ILAZLC: scans A for its last non-zero column. | |
pure integer(ilp) function, public | la_ilazlr (m, n, a, lda) |
ILAZLR: scans A for its last non-zero row. | |
pure integer(ilp) function, public | la_iparmq (ispec, name, opts, n, ilo, ihi, lwork) |
This program sets problem and machine dependent parameters useful for xHSEQR and related subroutines for eigenvalue problems. It is called whenever IPARMQ: is called with 12 <= ISPEC <= 16. | |
pure integer(ilp) function, public | la_izmax1 (n, zx, incx) |
IZMAX1: finds the index of the first vector element of maximum absolute value. Based on IZAMAX from Level 1 BLAS. The change is to use the 'genuine' absolute value. | |
pure logical(lk) function, public | la_lsamen (n, ca, cb) |
LSAMEN: tests if the first N letters of CA are the same as the first N letters of CB, regardless of case. LSAMEN returns .TRUE. if CA and CB are equivalent except for case and .FALSE. otherwise. LSAMEN also returns .FALSE. if LEN( CA ) or LEN( CB ) is less than N. | |
pure real(sp) function, public | la_sroundup_lwork (lwork) |
SROUNDUP_LWORK: deals with a subtle bug with returning LWORK as a Float. This routine guarantees it is rounded up instead of down by multiplying LWORK by 1+eps when it is necessary, where eps is the relative machine precision. E.g., float( 16777217 ) == 16777216 float( 16777217 ) * (1.+eps) == 16777218. | |
pure real(qp) function, public | la_qroundup_lwork (lwork) |
DROUNDUP_LWORK: deals with a subtle bug with returning LWORK as a Float. This routine guarantees it is rounded up instead of down by multiplying LWORK by 1+eps when it is necessary, where eps is the relative machine precision. E.g., float( 9007199254740993 ) == 9007199254740992 float( 9007199254740993 ) * (1.+eps) == 9007199254740994. | |
integer(ilp) function, public | la_ilaqiag (diag) |
This subroutine translated from a character string specifying if a matrix has unit diagonal or not to the relevant BLAST-specified integer constant. ILADIAG: returns an INTEGER. If ILADIAG: < 0, then the input is not a character indicating a unit or non-unit diagonal. Otherwise ILADIAG returns the constant value corresponding to DIAG. | |
pure integer(ilp) function, public | la_ilaqlc (m, n, a, lda) |
ILADLC: scans A for its last non-zero column. | |
pure integer(ilp) function, public | la_ilaqlr (m, n, a, lda) |
ILADLR: scans A for its last non-zero row. | |
pure integer(ilp) function, public | la_ilawlc (m, n, a, lda) |
ILAZLC: scans A for its last non-zero column. | |
pure integer(ilp) function, public | la_ilawlr (m, n, a, lda) |
ILAZLR: scans A for its last non-zero row. | |
pure integer(ilp) function, public | la_iwmax1 (n, zx, incx) |
IZMAX1: finds the index of the first vector element of maximum absolute value. Based on IZAMAX from Level 1 BLAS. The change is to use the 'genuine' absolute value. | |
pure integer(ilp) function, public | la_ilaenv (ispec, name, opts, n1, n2, n3, n4) |
ILAENV: is called from the LAPACK routines to choose problem-dependent parameters for the local environment. See ISPEC for a description of the parameters. ILAENV returns an INTEGER if ILAENV >= 0: ILAENV returns the value of the parameter specified by ISPEC if ILAENV < 0: if ILAENV = -k, the k-th argument had an illegal value. This version provides a set of parameters which should give good, but not optimal, performance on many of the currently available computers. Users are encouraged to modify this subroutine to set the tuning parameters for their particular machine using the option and problem size information in the arguments. This routine will not function correctly if it is converted to all lower case. Converting it to all upper case is allowed. | |
pure integer(ilp) function, public | la_iparam2stage (ispec, name, opts, ni, nbi, ibi, nxi) |
This program sets problem and machine dependent parameters useful for xHETRD_2STAGE, xHETRD_HE2HB, xHETRD_HB2ST, xGEBRD_2STAGE, xGEBRD_GE2GB, xGEBRD_GB2BD and related subroutines for eigenvalue problems. It is called whenever ILAENV is called with 17 <= ISPEC <= 21. It is called whenever ILAENV2STAGE is called with 1 <= ISPEC <= 5 with a direct conversion ISPEC + 16. | |
pure integer(ilp) function, public | la_ilaenv2stage (ispec, name, opts, n1, n2, n3, n4) |
ILAENV2STAGE: is called from the LAPACK routines to choose problem-dependent parameters for the local environment. See ISPEC for a description of the parameters. It sets problem and machine dependent parameters useful for *_2STAGE and related subroutines. ILAENV2STAGE returns an INTEGER if ILAENV2STAGE >= 0: ILAENV2STAGE returns the value of the parameter specified by ISPEC if ILAENV2STAGE < 0: if ILAENV2STAGE = -k, the k-th argument had an illegal value. This version provides a set of parameters which should give good, but not optimal, performance on many of the currently available computers for the 2-stage solvers. Users are encouraged to modify this subroutine to set the tuning parameters for their particular machine using the option and problem size information in the arguments. This routine will not function correctly if it is converted to all lower case. Converting it to all upper case is allowed. | |
pure character function, public la_lapack_aux::la_chla_transtype | ( | integer(ilp), intent(in) | trans | ) |
This subroutine translates from a BLAST-specified integer constant to the character string specifying a transposition operation. CHLA_TRANSTYPE: returns an CHARACTER*1. If CHLA_TRANSTYPE: is 'X', then input is not an integer indicating a transposition operator. Otherwise CHLA_TRANSTYPE returns the constant value corresponding to TRANS.
DROUNDUP_LWORK: deals with a subtle bug with returning LWORK as a Float. This routine guarantees it is rounded up instead of down by multiplying LWORK by 1+eps when it is necessary, where eps is the relative machine precision. E.g., float( 9007199254740993 ) == 9007199254740992 float( 9007199254740993 ) * (1.+eps) == 9007199254740994.
DROUNDUP_LWORK >= LWORK. DROUNDUP_LWORK is guaranteed to have zero decimal part.
pure integer(ilp) function, public la_lapack_aux::la_icmax1 | ( | integer(ilp), intent(in) | n, |
complex(sp), dimension(*), intent(in) | cx, | ||
integer(ilp), intent(in) | incx ) |
ICMAX1: finds the index of the first vector element of maximum absolute value. Based on ICAMAX from Level 1 BLAS. The change is to use the 'genuine' absolute value.
pure integer(ilp) function, public la_lapack_aux::la_ieeeck | ( | integer(ilp), intent(in) | ispec, |
real(sp), intent(in) | zero, | ||
real(sp), intent(in) | one ) |
IEEECK: is called from the ILAENV to verify that Infinity and possibly NaN arithmetic is safe (i.e. will not trap).
pure integer(ilp) function, public la_lapack_aux::la_ilaclc | ( | integer(ilp), intent(in) | m, |
integer(ilp), intent(in) | n, | ||
complex(sp), dimension(lda,*), intent(in) | a, | ||
integer(ilp), intent(in) | lda ) |
ILACLC: scans A for its last non-zero column.
pure integer(ilp) function, public la_lapack_aux::la_ilaclr | ( | integer(ilp), intent(in) | m, |
integer(ilp), intent(in) | n, | ||
complex(sp), dimension(lda,*), intent(in) | a, | ||
integer(ilp), intent(in) | lda ) |
ILACLR: scans A for its last non-zero row.
integer(ilp) function, public la_lapack_aux::la_iladiag | ( | character | diag | ) |
This subroutine translated from a character string specifying if a matrix has unit diagonal or not to the relevant BLAST-specified integer constant. ILADIAG: returns an INTEGER. If ILADIAG: < 0, then the input is not a character indicating a unit or non-unit diagonal. Otherwise ILADIAG returns the constant value corresponding to DIAG.
pure integer(ilp) function, public la_lapack_aux::la_iladlc | ( | integer(ilp), intent(in) | m, |
integer(ilp), intent(in) | n, | ||
real(dp), dimension(lda,*), intent(in) | a, | ||
integer(ilp), intent(in) | lda ) |
ILADLC: scans A for its last non-zero column.
pure integer(ilp) function, public la_lapack_aux::la_iladlr | ( | integer(ilp), intent(in) | m, |
integer(ilp), intent(in) | n, | ||
real(dp), dimension(lda,*), intent(in) | a, | ||
integer(ilp), intent(in) | lda ) |
ILADLR: scans A for its last non-zero row.
pure integer(ilp) function, public la_lapack_aux::la_ilaenv | ( | integer(ilp), intent(in) | ispec, |
character(len=*), intent(in) | name, | ||
character(len=*), intent(in) | opts, | ||
integer(ilp), intent(in) | n1, | ||
integer(ilp), intent(in) | n2, | ||
integer(ilp), intent(in) | n3, | ||
integer(ilp), intent(in) | n4 ) |
ILAENV: is called from the LAPACK routines to choose problem-dependent parameters for the local environment. See ISPEC for a description of the parameters. ILAENV returns an INTEGER if ILAENV >= 0: ILAENV returns the value of the parameter specified by ISPEC if ILAENV < 0: if ILAENV = -k, the k-th argument had an illegal value. This version provides a set of parameters which should give good, but not optimal, performance on many of the currently available computers. Users are encouraged to modify this subroutine to set the tuning parameters for their particular machine using the option and problem size information in the arguments. This routine will not function correctly if it is converted to all lower case. Converting it to all upper case is allowed.
pure integer(ilp) function, public la_lapack_aux::la_ilaenv2stage | ( | integer(ilp), intent(in) | ispec, |
character(len=*), intent(in) | name, | ||
character(len=*), intent(in) | opts, | ||
integer(ilp), intent(in) | n1, | ||
integer(ilp), intent(in) | n2, | ||
integer(ilp), intent(in) | n3, | ||
integer(ilp), intent(in) | n4 ) |
ILAENV2STAGE: is called from the LAPACK routines to choose problem-dependent parameters for the local environment. See ISPEC for a description of the parameters. It sets problem and machine dependent parameters useful for *_2STAGE and related subroutines. ILAENV2STAGE returns an INTEGER if ILAENV2STAGE >= 0: ILAENV2STAGE returns the value of the parameter specified by ISPEC if ILAENV2STAGE < 0: if ILAENV2STAGE = -k, the k-th argument had an illegal value. This version provides a set of parameters which should give good, but not optimal, performance on many of the currently available computers for the 2-stage solvers. Users are encouraged to modify this subroutine to set the tuning parameters for their particular machine using the option and problem size information in the arguments. This routine will not function correctly if it is converted to all lower case. Converting it to all upper case is allowed.
integer(ilp) function, public la_lapack_aux::la_ilaprec | ( | character | prec | ) |
This subroutine translated from a character string specifying an intermediate precision to the relevant BLAST-specified integer constant. ILAPREC: returns an INTEGER. If ILAPREC: < 0, then the input is not a character indicating a supported intermediate precision. Otherwise ILAPREC returns the constant value corresponding to PREC.
integer(ilp) function, public la_lapack_aux::la_ilaqiag | ( | character | diag | ) |
This subroutine translated from a character string specifying if a matrix has unit diagonal or not to the relevant BLAST-specified integer constant. ILADIAG: returns an INTEGER. If ILADIAG: < 0, then the input is not a character indicating a unit or non-unit diagonal. Otherwise ILADIAG returns the constant value corresponding to DIAG.
pure integer(ilp) function, public la_lapack_aux::la_ilaqlc | ( | integer(ilp), intent(in) | m, |
integer(ilp), intent(in) | n, | ||
real(qp), dimension(lda,*), intent(in) | a, | ||
integer(ilp), intent(in) | lda ) |
ILADLC: scans A for its last non-zero column.
pure integer(ilp) function, public la_lapack_aux::la_ilaqlr | ( | integer(ilp), intent(in) | m, |
integer(ilp), intent(in) | n, | ||
real(qp), dimension(lda,*), intent(in) | a, | ||
integer(ilp), intent(in) | lda ) |
ILADLR: scans A for its last non-zero row.
pure integer(ilp) function, public la_lapack_aux::la_ilaslc | ( | integer(ilp), intent(in) | m, |
integer(ilp), intent(in) | n, | ||
real(sp), dimension(lda,*), intent(in) | a, | ||
integer(ilp), intent(in) | lda ) |
ILASLC: scans A for its last non-zero column.
pure integer(ilp) function, public la_lapack_aux::la_ilaslr | ( | integer(ilp), intent(in) | m, |
integer(ilp), intent(in) | n, | ||
real(sp), dimension(lda,*), intent(in) | a, | ||
integer(ilp), intent(in) | lda ) |
ILASLR: scans A for its last non-zero row.
integer(ilp) function, public la_lapack_aux::la_ilatrans | ( | character | trans | ) |
This subroutine translates from a character string specifying a transposition operation to the relevant BLAST-specified integer constant. ILATRANS: returns an INTEGER. If ILATRANS: < 0, then the input is not a character indicating a transposition operator. Otherwise ILATRANS returns the constant value corresponding to TRANS.
integer(ilp) function, public la_lapack_aux::la_ilauplo | ( | character | uplo | ) |
This subroutine translated from a character string specifying a upper- or lower-triangular matrix to the relevant BLAST-specified integer constant. ILAUPLO: returns an INTEGER. If ILAUPLO: < 0, then the input is not a character indicating an upper- or lower-triangular matrix. Otherwise ILAUPLO returns the constant value corresponding to UPLO.
pure integer(ilp) function, public la_lapack_aux::la_ilawlc | ( | integer(ilp), intent(in) | m, |
integer(ilp), intent(in) | n, | ||
complex(qp), dimension(lda,*), intent(in) | a, | ||
integer(ilp), intent(in) | lda ) |
ILAZLC: scans A for its last non-zero column.
pure integer(ilp) function, public la_lapack_aux::la_ilawlr | ( | integer(ilp), intent(in) | m, |
integer(ilp), intent(in) | n, | ||
complex(qp), dimension(lda,*), intent(in) | a, | ||
integer(ilp), intent(in) | lda ) |
ILAZLR: scans A for its last non-zero row.
pure integer(ilp) function, public la_lapack_aux::la_ilazlc | ( | integer(ilp), intent(in) | m, |
integer(ilp), intent(in) | n, | ||
complex(dp), dimension(lda,*), intent(in) | a, | ||
integer(ilp), intent(in) | lda ) |
ILAZLC: scans A for its last non-zero column.
pure integer(ilp) function, public la_lapack_aux::la_ilazlr | ( | integer(ilp), intent(in) | m, |
integer(ilp), intent(in) | n, | ||
complex(dp), dimension(lda,*), intent(in) | a, | ||
integer(ilp), intent(in) | lda ) |
ILAZLR: scans A for its last non-zero row.
pure integer(ilp) function, public la_lapack_aux::la_iparam2stage | ( | integer(ilp), intent(in) | ispec, |
character(len=*), intent(in) | name, | ||
character(len=*), intent(in) | opts, | ||
integer(ilp), intent(in) | ni, | ||
integer(ilp), intent(in) | nbi, | ||
integer(ilp), intent(in) | ibi, | ||
integer(ilp), intent(in) | nxi ) |
This program sets problem and machine dependent parameters useful for xHETRD_2STAGE, xHETRD_HE2HB, xHETRD_HB2ST, xGEBRD_2STAGE, xGEBRD_GE2GB, xGEBRD_GB2BD and related subroutines for eigenvalue problems. It is called whenever ILAENV is called with 17 <= ISPEC <= 21. It is called whenever ILAENV2STAGE is called with 1 <= ISPEC <= 5 with a direct conversion ISPEC + 16.
pure integer(ilp) function, public la_lapack_aux::la_iparmq | ( | integer(ilp), intent(in) | ispec, |
character, dimension(*), intent(in) | name, | ||
character, dimension(*), intent(in) | opts, | ||
integer(ilp), intent(in) | n, | ||
integer(ilp), intent(in) | ilo, | ||
integer(ilp), intent(in) | ihi, | ||
integer(ilp), intent(in) | lwork ) |
This program sets problem and machine dependent parameters useful for xHSEQR and related subroutines for eigenvalue problems. It is called whenever IPARMQ: is called with 12 <= ISPEC <= 16.
pure integer(ilp) function, public la_lapack_aux::la_iwmax1 | ( | integer(ilp), intent(in) | n, |
complex(qp), dimension(*), intent(in) | zx, | ||
integer(ilp), intent(in) | incx ) |
IZMAX1: finds the index of the first vector element of maximum absolute value. Based on IZAMAX from Level 1 BLAS. The change is to use the 'genuine' absolute value.
pure integer(ilp) function, public la_lapack_aux::la_izmax1 | ( | integer(ilp), intent(in) | n, |
complex(dp), dimension(*), intent(in) | zx, | ||
integer(ilp), intent(in) | incx ) |
IZMAX1: finds the index of the first vector element of maximum absolute value. Based on IZAMAX from Level 1 BLAS. The change is to use the 'genuine' absolute value.
pure logical(lk) function, public la_lapack_aux::la_lsamen | ( | integer(ilp), intent(in) | n, |
character(len=*), intent(in) | ca, | ||
character(len=*), intent(in) | cb ) |
LSAMEN: tests if the first N letters of CA are the same as the first N letters of CB, regardless of case. LSAMEN returns .TRUE. if CA and CB are equivalent except for case and .FALSE. otherwise. LSAMEN also returns .FALSE. if LEN( CA ) or LEN( CB ) is less than N.
DROUNDUP_LWORK: deals with a subtle bug with returning LWORK as a Float. This routine guarantees it is rounded up instead of down by multiplying LWORK by 1+eps when it is necessary, where eps is the relative machine precision. E.g., float( 9007199254740993 ) == 9007199254740992 float( 9007199254740993 ) * (1.+eps) == 9007199254740994.
DROUNDUP_LWORK >= LWORK. DROUNDUP_LWORK is guaranteed to have zero decimal part.
SROUNDUP_LWORK: deals with a subtle bug with returning LWORK as a Float. This routine guarantees it is rounded up instead of down by multiplying LWORK by 1+eps when it is necessary, where eps is the relative machine precision. E.g., float( 16777217 ) == 16777216 float( 16777217 ) * (1.+eps) == 16777218.
SROUNDUP_LWORK >= LWORK. SROUNDUP_LWORK is guaranteed to have zero decimal part.