Double precision interfaces for the LAPACK procedures used by hompack.
Test if a double precision value is NaN.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(in) | :: | din |
Test if two double precision values differ (NaN helper).
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(in) | :: | din1 | |||
| real(kind=dp), | intent(in) | :: | din2 |
Determine double precision machine parameters.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=1), | intent(in) | :: | cmach |
Compute sqrt(x**2 + y**2) without undue overflow or underflow.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(in) | :: | x | |||
| real(kind=dp), | intent(in) | :: | y |
Check IEEE arithmetic support.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | ispec | |||
| real, | intent(in) | :: | zero | |||
| real, | intent(in) | :: | one |
Find the last non-zero column of a matrix.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | m | |||
| integer, | intent(in) | :: | n | |||
| real(kind=dp), | intent(in) | :: | a(lda,*) | |||
| integer, | intent(in) | :: | lda |
Find the last non-zero row of a matrix.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | m | |||
| integer, | intent(in) | :: | n | |||
| real(kind=dp), | intent(in) | :: | a(lda,*) | |||
| integer, | intent(in) | :: | lda |
Return LAPACK environment parameters (e.g. optimal block size).
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | ispec | |||
| character(len=*), | intent(in) | :: | name | |||
| character(len=*), | intent(in) | :: | opts | |||
| integer, | intent(in) | :: | n1 | |||
| integer, | intent(in) | :: | n2 | |||
| integer, | intent(in) | :: | n3 | |||
| integer, | intent(in) | :: | n4 |
Return shift parameters for the double-shift QR iteration.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | ispec | |||
| character(len=*), | intent(in) | :: | name | |||
| character(len=*), | intent(in) | :: | opts | |||
| integer, | intent(in) | :: | n | |||
| integer, | intent(in) | :: | ilo | |||
| integer, | intent(in) | :: | ihi | |||
| integer, | intent(in) | :: | lwork |
QR factorization with column pivoting: A*P = Q*R.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | m | |||
| integer, | intent(in) | :: | n | |||
| real(kind=dp), | intent(inout) | :: | a(lda,*) | |||
| integer, | intent(in) | :: | lda | |||
| integer, | intent(inout) | :: | jpvt(*) | |||
| real(kind=dp), | intent(out) | :: | tau(*) | |||
| real(kind=dp), | intent(out) | :: | work(*) | |||
| integer, | intent(out) | :: | info |
Unblocked QR factorization: A = Q*R.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | m | |||
| integer, | intent(in) | :: | n | |||
| real(kind=dp), | intent(inout) | :: | a(lda,*) | |||
| integer, | intent(in) | :: | lda | |||
| real(kind=dp), | intent(out) | :: | tau(*) | |||
| real(kind=dp), | intent(out) | :: | work(*) | |||
| integer, | intent(out) | :: | info |
Blocked QR factorization: A = Q*R.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | m | |||
| integer, | intent(in) | :: | n | |||
| real(kind=dp), | intent(inout) | :: | a(lda,*) | |||
| integer, | intent(in) | :: | lda | |||
| real(kind=dp), | intent(out) | :: | tau(*) | |||
| real(kind=dp), | intent(out) | :: | work(*) | |||
| integer, | intent(in) | :: | lwork | |||
| integer, | intent(out) | :: | info |
Copy all or part of a matrix: B = A.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=1), | intent(in) | :: | uplo | |||
| integer, | intent(in) | :: | m | |||
| integer, | intent(in) | :: | n | |||
| real(kind=dp), | intent(in) | :: | a(lda,*) | |||
| integer, | intent(in) | :: | lda | |||
| real(kind=dp), | intent(out) | :: | b(ldb,*) | |||
| integer, | intent(in) | :: | ldb |
Apply one step of incremental condition estimation.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | job | |||
| integer, | intent(in) | :: | j | |||
| real(kind=dp), | intent(in) | :: | x(j) | |||
| real(kind=dp), | intent(in) | :: | sest | |||
| real(kind=dp), | intent(in) | :: | w(j) | |||
| real(kind=dp), | intent(in) | :: | gamma | |||
| real(kind=dp), | intent(out) | :: | sestpr | |||
| real(kind=dp), | intent(out) | :: | s | |||
| real(kind=dp), | intent(out) | :: | c |
Apply a Householder reflector H = I - tau*v*v**T to a matrix.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=1), | intent(in) | :: | side | |||
| integer, | intent(in) | :: | m | |||
| integer, | intent(in) | :: | n | |||
| real(kind=dp), | intent(in) | :: | v(*) | |||
| integer, | intent(in) | :: | incv | |||
| real(kind=dp), | intent(in) | :: | tau | |||
| real(kind=dp), | intent(inout) | :: | c(ldc,*) | |||
| integer, | intent(in) | :: | ldc | |||
| real(kind=dp), | intent(out) | :: | work(*) |
Apply a Householder reflector with first element 1.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=1), | intent(in) | :: | side | |||
| integer, | intent(in) | :: | m | |||
| integer, | intent(in) | :: | n | |||
| real(kind=dp), | intent(in) | :: | v(*) | |||
| integer, | intent(in) | :: | incv | |||
| real(kind=dp), | intent(in) | :: | tau | |||
| real(kind=dp), | intent(inout) | :: | c(ldc,*) | |||
| integer, | intent(in) | :: | ldc | |||
| real(kind=dp), | intent(out) | :: | work(*) |
Apply a block Householder reflector H = I - V*T*V**T to a matrix.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=1), | intent(in) | :: | side | |||
| character(len=1), | intent(in) | :: | trans | |||
| character(len=1), | intent(in) | :: | direct | |||
| character(len=1), | intent(in) | :: | storev | |||
| integer, | intent(in) | :: | m | |||
| integer, | intent(in) | :: | n | |||
| integer, | intent(in) | :: | k | |||
| real(kind=dp), | intent(in) | :: | v(ldv,*) | |||
| integer, | intent(in) | :: | ldv | |||
| real(kind=dp), | intent(in) | :: | t(ldt,*) | |||
| integer, | intent(in) | :: | ldt | |||
| real(kind=dp), | intent(inout) | :: | c(ldc,*) | |||
| integer, | intent(in) | :: | ldc | |||
| real(kind=dp), | intent(out) | :: | work(ldwork,*) | |||
| integer, | intent(in) | :: | ldwork |
Generate a Householder reflector H such that H*[alpha; x] = [beta; 0].
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | n | |||
| real(kind=dp), | intent(inout) | :: | alpha | |||
| real(kind=dp), | intent(inout) | :: | x(*) | |||
| integer, | intent(in) | :: | incx | |||
| real(kind=dp), | intent(out) | :: | tau |
Form the triangular factor T of a block Householder reflector.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=1), | intent(in) | :: | direct | |||
| character(len=1), | intent(in) | :: | storev | |||
| integer, | intent(in) | :: | n | |||
| integer, | intent(in) | :: | k | |||
| real(kind=dp), | intent(in) | :: | v(ldv,*) | |||
| integer, | intent(in) | :: | ldv | |||
| real(kind=dp), | intent(in) | :: | tau(*) | |||
| real(kind=dp), | intent(out) | :: | t(ldt,*) | |||
| integer, | intent(in) | :: | ldt |
Unblocked generation of Q from QR factorization.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | m | |||
| integer, | intent(in) | :: | n | |||
| integer, | intent(in) | :: | k | |||
| real(kind=dp), | intent(inout) | :: | a(lda,*) | |||
| integer, | intent(in) | :: | lda | |||
| real(kind=dp), | intent(in) | :: | tau(*) | |||
| real(kind=dp), | intent(out) | :: | work(*) | |||
| integer, | intent(out) | :: | info |
Blocked generation of Q from QR factorization.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | m | |||
| integer, | intent(in) | :: | n | |||
| integer, | intent(in) | :: | k | |||
| real(kind=dp), | intent(inout) | :: | a(lda,*) | |||
| integer, | intent(in) | :: | lda | |||
| real(kind=dp), | intent(in) | :: | tau(*) | |||
| real(kind=dp), | intent(out) | :: | work(*) | |||
| integer, | intent(in) | :: | lwork | |||
| integer, | intent(out) | :: | info |
Unblocked application of Q from QR factorization to a matrix.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=1), | intent(in) | :: | side | |||
| character(len=1), | intent(in) | :: | trans | |||
| integer, | intent(in) | :: | m | |||
| integer, | intent(in) | :: | n | |||
| integer, | intent(in) | :: | k | |||
| real(kind=dp), | intent(in) | :: | a(lda,*) | |||
| integer, | intent(in) | :: | lda | |||
| real(kind=dp), | intent(in) | :: | tau(*) | |||
| real(kind=dp), | intent(inout) | :: | c(ldc,*) | |||
| integer, | intent(in) | :: | ldc | |||
| real(kind=dp), | intent(out) | :: | work(*) | |||
| integer, | intent(out) | :: | info |
Blocked application of Q from QR factorization to a matrix.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=1), | intent(in) | :: | side | |||
| character(len=1), | intent(in) | :: | trans | |||
| integer, | intent(in) | :: | m | |||
| integer, | intent(in) | :: | n | |||
| integer, | intent(in) | :: | k | |||
| real(kind=dp), | intent(in) | :: | a(lda,*) | |||
| integer, | intent(in) | :: | lda | |||
| real(kind=dp), | intent(in) | :: | tau(*) | |||
| real(kind=dp), | intent(inout) | :: | c(ldc,*) | |||
| integer, | intent(in) | :: | ldc | |||
| real(kind=dp), | intent(out) | :: | work(*) | |||
| integer, | intent(in) | :: | lwork | |||
| integer, | intent(out) | :: | info |
Error handler called by LAPACK/BLAS routines.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | srname | |||
| integer, | intent(in) | :: | info |