public interface unbdb5
UNBDB5 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 some other vector from the orthogonal complement
is returned. This vector is chosen in an arbitrary but deterministic
way.
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 |
|
|
complex(kind=sp),
|
intent(inout) |
|
|
:: |
x1(*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
incx1 |
|
|
complex(kind=sp),
|
intent(inout) |
|
|
:: |
x2(*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
incx2 |
|
|
complex(kind=sp),
|
intent(in) |
|
|
:: |
q1(ldq1,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldq1 |
|
|
complex(kind=sp),
|
intent(in) |
|
|
:: |
q2(ldq2,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldq2 |
|
|
complex(kind=sp),
|
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 |
|
|
complex(kind=dp),
|
intent(inout) |
|
|
:: |
x1(*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
incx1 |
|
|
complex(kind=dp),
|
intent(inout) |
|
|
:: |
x2(*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
incx2 |
|
|
complex(kind=dp),
|
intent(in) |
|
|
:: |
q1(ldq1,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldq1 |
|
|
complex(kind=dp),
|
intent(in) |
|
|
:: |
q2(ldq2,*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
ldq2 |
|
|
complex(kind=dp),
|
intent(out) |
|
|
:: |
work(*) |
|
|
integer(kind=ilp),
|
intent(in) |
|
|
:: |
lwork |
|
|
integer(kind=ilp),
|
intent(out) |
|
|
:: |
info |
|
Module Procedures