A small module just designed to provide interfaces to commonly used
lapack routines so that we can forget about the precision of the
arguments at the calling site and the compiler has some information
about the lapack routine arguments.
Requires the code to be linked against lapack so we currently have
to take care to guard against having use lapack_wrapper
when we
don't have lapack available. We could further guard against this
by only allowing this module to be non-empty when LAPACK is defined.
Interfaces
-
private interface cgetrf()
Arguments
None
-
private interface zgetrf()
Arguments
None
-
private interface cgetri()
Arguments
None
-
private interface zgetri()
Arguments
None
-
private interface cgemm()
Arguments
None
-
private interface zgemm()
Arguments
None
-
private interface cgemv()
Arguments
None
-
private interface zgemv()
Arguments
None
interface
-
private subroutine cgetrf(m, n, a, lda, ipiv, info)
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
integer
|
|
|
|
:: |
m |
|
integer
|
|
|
|
:: |
n |
|
complex(kind=real32),
|
|
|
dimension(lda, *)
|
:: |
a |
|
integer
|
|
|
|
:: |
lda |
|
integer,
|
|
|
dimension(*)
|
:: |
ipiv |
|
integer
|
|
|
|
:: |
info |
|
interface
-
private subroutine zgetrf(m, n, a, lda, ipiv, info)
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
integer
|
|
|
|
:: |
m |
|
integer
|
|
|
|
:: |
n |
|
complex(kind=real64),
|
|
|
dimension(lda, *)
|
:: |
a |
|
integer
|
|
|
|
:: |
lda |
|
integer,
|
|
|
dimension(*)
|
:: |
ipiv |
|
integer
|
|
|
|
:: |
info |
|
interface
-
private subroutine cgetri(n, a, lda, ipiv, work, lwork, info)
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
integer
|
|
|
|
:: |
n |
|
complex(kind=real32),
|
|
|
dimension(lda, *)
|
:: |
a |
|
integer
|
|
|
|
:: |
lda |
|
integer,
|
|
|
dimension(*)
|
:: |
ipiv |
|
complex(kind=real32),
|
|
|
dimension(*)
|
:: |
work |
|
integer
|
|
|
|
:: |
lwork |
|
integer
|
|
|
|
:: |
info |
|
interface
-
private subroutine zgetri(n, a, lda, ipiv, work, lwork, info)
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
integer
|
|
|
|
:: |
n |
|
complex(kind=real64),
|
|
|
dimension(lda, *)
|
:: |
a |
|
integer
|
|
|
|
:: |
lda |
|
integer,
|
|
|
dimension(*)
|
:: |
ipiv |
|
complex(kind=real64),
|
|
|
dimension(*)
|
:: |
work |
|
integer
|
|
|
|
:: |
lwork |
|
integer
|
|
|
|
:: |
info |
|
interface
-
private subroutine cgemm(transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc)
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
character(len=1)
|
|
|
|
:: |
transa |
|
character(len=1)
|
|
|
|
:: |
transb |
|
integer
|
|
|
|
:: |
m |
|
integer
|
|
|
|
:: |
n |
|
integer
|
|
|
|
:: |
k |
|
complex(kind=real32)
|
|
|
|
:: |
alpha |
|
complex(kind=real32),
|
|
|
dimension(lda, *)
|
:: |
a |
|
integer
|
|
|
|
:: |
lda |
|
complex(kind=real32),
|
|
|
dimension(ldb, *)
|
:: |
b |
|
integer
|
|
|
|
:: |
ldb |
|
complex(kind=real32)
|
|
|
|
:: |
beta |
|
complex(kind=real32),
|
|
|
dimension(ldc, *)
|
:: |
c |
|
integer
|
|
|
|
:: |
ldc |
|
interface
-
private subroutine zgemm(transa, transb, m, n, k, alpha, a, lda, b, ldb, beta, c, ldc)
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
character(len=1)
|
|
|
|
:: |
transa |
|
character(len=1)
|
|
|
|
:: |
transb |
|
integer
|
|
|
|
:: |
m |
|
integer
|
|
|
|
:: |
n |
|
integer
|
|
|
|
:: |
k |
|
complex(kind=real64)
|
|
|
|
:: |
alpha |
|
complex(kind=real64),
|
|
|
dimension(lda, *)
|
:: |
a |
|
integer
|
|
|
|
:: |
lda |
|
complex(kind=real64),
|
|
|
dimension(ldb, *)
|
:: |
b |
|
integer
|
|
|
|
:: |
ldb |
|
complex(kind=real64)
|
|
|
|
:: |
beta |
|
complex(kind=real64),
|
|
|
dimension(ldc, *)
|
:: |
c |
|
integer
|
|
|
|
:: |
ldc |
|
interface
-
private subroutine cgemv(trans, m, n, alpha, a, lda, x, incx, beta, y, incy)
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
character(len=1)
|
|
|
|
:: |
trans |
|
integer
|
|
|
|
:: |
m |
|
integer
|
|
|
|
:: |
n |
|
complex(kind=real32)
|
|
|
|
:: |
alpha |
|
complex(kind=real32),
|
|
|
dimension(lda, *)
|
:: |
a |
|
integer
|
|
|
|
:: |
lda |
|
complex(kind=real32),
|
|
|
dimension(*)
|
:: |
x |
|
integer
|
|
|
|
:: |
incx |
|
complex(kind=real32)
|
|
|
|
:: |
beta |
|
complex(kind=real32),
|
|
|
dimension(*)
|
:: |
y |
|
integer
|
|
|
|
:: |
incy |
|
interface
-
private subroutine zgemv(trans, m, n, alpha, a, lda, x, incx, beta, y, incy)
Arguments
Type |
Intent | Optional | Attributes |
|
Name |
|
character(len=1)
|
|
|
|
:: |
trans |
|
integer
|
|
|
|
:: |
m |
|
integer
|
|
|
|
:: |
n |
|
complex(kind=real64)
|
|
|
|
:: |
alpha |
|
complex(kind=real64),
|
|
|
dimension(lda, *)
|
:: |
a |
|
integer
|
|
|
|
:: |
lda |
|
complex(kind=real64),
|
|
|
dimension(*)
|
:: |
x |
|
integer
|
|
|
|
:: |
incx |
|
complex(kind=real64)
|
|
|
|
:: |
beta |
|
complex(kind=real64),
|
|
|
dimension(*)
|
:: |
y |
|
integer
|
|
|
|
:: |
incy |
|