public interface orbdb6
ORBDB6 orthogonalizes the column vector
X = [ X1 ]
[ X2 ]
with respect to the columns of
Q = [ Q1 ] .
[ Q2 ]
The columns of Q must be orthonormal.
If the projection is zero according to Kahan's "twice is enough"
criterion, then the zero vector is returned.
Subroutines
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
m1 |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
m2 |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
n |
|
|
real(kind=dp),
|
intent(inout) |
|
|
:: |
x1(*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
incx1 |
|
|
real(kind=dp),
|
intent(inout) |
|
|
:: |
x2(*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
incx2 |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
q1(ldq1,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldq1 |
|
|
real(kind=dp),
|
intent(in) |
|
|
:: |
q2(ldq2,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldq2 |
|
|
real(kind=dp),
|
intent(out) |
|
|
:: |
work(*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
lwork |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
info |
|
Arguments
| Type |
Intent | Optional | Attributes |
|
Name |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
m1 |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
m2 |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
n |
|
|
real(kind=sp),
|
intent(inout) |
|
|
:: |
x1(*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
incx1 |
|
|
real(kind=sp),
|
intent(inout) |
|
|
:: |
x2(*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
incx2 |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
q1(ldq1,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldq1 |
|
|
real(kind=sp),
|
intent(in) |
|
|
:: |
q2(ldq2,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldq2 |
|
|
real(kind=sp),
|
intent(out) |
|
|
:: |
work(*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
lwork |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
info |
|
Module Procedures