3
! Contains wrappers for the following LAPACK routines:
5
! Computational routines for orthogonal/unitary factorizations:
7
! geqp3 (QR, general,factorize with pivoting) - Not Implemented
8
! geqrf (QR, general, factorize, no pivoting)
9
! orgqr, ungqr (QR, general, generate Q)
10
! ormqr, unmqr (QR, general, multiply matrix by Q) - Not Implemented
11
! gelqf (LQ, general, factorize, no pivoting) - Not Implemented
12
! orglq, unglq (LQ, general, generate Q) - Not Implemented
13
! ormlq, unmlq (LQ, general, multiply matrix by Q) - Not Implemented
14
! geqlf (QL, general, factorize, no pivoting) - Not Implemented
15
! orgql, ungql (QL, general, generate Q) - Not Implemented
16
! ormql, unmql (QL, general, multiply matrix by Q) - Not Implemented
17
! gerqf (RQ, general, factorize, no pivoting) - Not Implemented
18
! orgrq, ungrq (RQ, general, generate Q) - Not Implemented
19
! ormrq, unmrq (RQ, general, multiply matrix by Q) - Not Implemented
20
! tzrzf (RZ, trapezoidal, factorize, no pivoting) - Not Implemented
21
! ormrz, unmrz (RZ, trapezoidal,multiply matrix by Q) - Not Implemented
23
! Computational routines for general orthogonal/unitary factorizations:
25
! ggqrf (GQR, factorize) - Not Implemented
26
! ggrqf (GRQ, factorize) - Not Implemented
29
subroutine <prefix>geqrf(m,n,a,tau,work,lwork,info)
31
! qr,tau,info = geqrf(a,lwork=n,overwrite_a=0)
32
! Compute a QR factorization of a real M-by-N matrix A:
35
callstatement (*f2py_func)(&m,&n,a,&m,tau,work,&lwork,&info)
36
callprotoargument int*,int*,<ctype>*,int*,<ctype>*,<ctype>*,int*,int*
38
integer intent(hide),depend(a):: m = shape(a,0)
39
integer intent(hide),depend(a):: n = shape(a,1)
40
<ftype> dimension(m,n),intent(in,out,copy,out=qr) :: a
41
<ftype> dimension(MIN(m,n)),intent(out) :: tau
44
integer optional,intent(in),depend(n),check(lwork\>=<_lwork>) :: lwork=<_lwork>
45
<ftype> dimension(lwork),intent(hide,cache),depend(lwork) :: work
46
integer intent(out) :: info
47
end subroutine <prefix>geqrf
50
subroutine <prefix><orth>gqr(m,n,k,qr,tau,work,lwork,info)
52
! q,info = (or|un)gqr(qr,tau,lwork=n,overwrite_qr=0,overwrite_tau=1)
53
! Compute matrix Q of a QR factorization of a real M-by-N matrix A
54
! from the results of geqrf.
56
callstatement (*f2py_func)(&m,&n,&k,qr,&m,tau,work,&lwork,&info)
57
callprotoargument int*,int*,int*,<ctype>*,int*,<ctype>*,<ctype>*,int*,int*
59
integer intent(hide),depend(qr):: m = shape(qr,0)
60
integer intent(hide),depend(qr):: n = shape(qr,1)
61
integer intent(hide),depend(m,n):: k = MIN(m,n)
62
<ftype> dimension(m,n),intent(in,out,copy,out=q) :: qr
63
<ftype> dimension(k),intent(in,overwrite) :: tau
65
integer optional,intent(in),depend(n),check(lwork\>=<_lwork>) :: lwork=<_lwork>
66
<ftype> dimension(lwork),intent(hide,cache),depend(lwork) :: work
68
integer intent(out) :: info
69
end subroutine <prefix><orth>gqr