Developer Reference for Intel® oneAPI Math Kernel Library for Fortran
?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.