Visible to Intel only — GUID: GUID-3D91B6F8-5604-4D18-A2AF-A7E65B4CB937
Visible to Intel only — GUID: GUID-3D91B6F8-5604-4D18-A2AF-A7E65B4CB937
?orbdb5/?unbdb5
Orthogonalizes a column vector with respect to the orthonormal basis matrix.
Syntax
call sorbdb5( m1, m2, n, x1, incx1, x2, incx2, q1, ldq1, q2, ldq2, work, lwork, info )
call dorbdb5( m1, m2, n, x1, incx1, x2, incx2, q1, ldq1, q2, ldq2, work, lwork, info )
call cunbdb5( m1, m2, n, x1, incx1, x2, incx2, q1, ldq1, q2, ldq2, work, lwork, info )
call zunbdb5( m1, m2, n, x1, incx1, x2, incx2, q1, ldq1, q2, ldq2, work, lwork, info )
Include Files
- mkl.fi, mkl_lapack.f90
Description
The ?orbdb5/?unbdb5 routines orthogonalize the column vector
with respect to the columns of
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.
Input Parameters
- m1
-
INTEGER
The dimension of x1 and the number of rows in q1. 0 ≤m1.
- m2
-
INTEGER
The dimension of x2 and the number of rows in q2. 0 ≤m2.
- n
-
INTEGER
The number of columns in q1 and q2. 0 ≤n.
- x1
-
REAL for sordb5
DOUBLE PRECISION for dordb5
COMPLEX for cundb5
COMPLEX*16 for zundb5
Array of size m1.
The top part of the vector to be orthogonalized.
- incx1
-
INTEGER
Increment for entries of x1.
- x2
-
REAL for sordb5
DOUBLE PRECISION for dordb5
COMPLEX for cundb5
COMPLEX*16 for zundb5
Array of size m2.
The bottom part of the vector to be orthogonalized.
- incx2
-
INTEGER
Increment for entries of x2.
- q1
-
REAL for sordb5
DOUBLE PRECISION for dordb5
COMPLEX for cundb5
COMPLEX*16 for zundb5
Array of size (ldq1, n).
The top part of the orthonormal basis matrix.
- ldq1
-
INTEGER
The leading dimension of q1. ldq1≥m1.
- q2
-
REAL for sordb5
DOUBLE PRECISION for dordb5
COMPLEX for cundb5
COMPLEX*16 for zundb5
Array of size (ldq2, n).
The bottom part of the orthonormal basis matrix.
- ldq2
-
INTEGER
The leading dimension of q2. ldq2≥m2.
- work
-
REAL for sordb5
DOUBLE PRECISION for dordb5
COMPLEX for cundb5
COMPLEX*16 for zundb5
Workspace array of size lwork.
- lwork
-
INTEGER
The size of the array work. lwork≥n.
Output Parameters
- x1
-
The top part of the projected vector.
- x2
-
The bottom part of the projected vector.
- info
-
INTEGER.
= 0: successful exit
< 0: if info = -i, the i-th argument has an illegal value.