Developer Reference for Intel® oneAPI Math Kernel Library for C
?opgtr
Generates the real orthogonal matrix Q determined by ?sptrd .
Syntax
lapack_intLAPACKE_sopgtr ( intmatrix_layout , charuplo , lapack_intn , constfloat*ap , constfloat*tau , float*q , lapack_intldq );
lapack_intLAPACKE_dopgtr ( intmatrix_layout , charuplo , lapack_intn , constdouble*ap , constdouble*tau , double*q , lapack_intldq );
Include Files
mkl.h
Description
sopgtr dopgtr opgtr
The routine explicitly generates the n -by- n orthogonal matrix Q formed by sptrd when reducing a packed real symmetric matrix A to tridiagonal form: A = Q*T*Q^{T} . Use this routine after a call to ?sptrd .
Input Parameters
- matrix_layout
-
Specifies whether matrix storage layout is row major ( LAPACK_ROW_MAJOR ) or column major ( LAPACK_COL_MAJOR ).
uplo
Must be ‘U’ or ‘L’ . Use the same uplo as supplied to ?sptrd .
n
The order of the matrix Q ( n≥ 0 ).
- ap , tau
-
REAL for sopgtr DOUBLE PRECISION for dopgtr . Arrays ap and tau , as returned by ?sptrd . The size of ap must be at least max(1, n(n+1)/2). The size of tau must be at least max(1, n -1).
ldq
The leading dimension of the output array q ; at least max(1, n ).
- work
-
REAL for sopgtr DOUBLE PRECISION for dopgtr . Workspace array, size at least max(1, n -1).
Output Parameters
- q
-
REAL for sopgtr DOUBLE PRECISION for dopgtr .
Array, size (size max(1, ldq * n )) .
Contains the computed matrix Q . The second dimension of q must be at least max(1, n ).
Return Values
This function returns a value info .
If info=0 , the execution is successful.
If info = -i , the i -th parameter had an illegal value.
LAPACK 95 Interface Notes
There exist FORTRAN 77 and FORTRAN 95 interfaces for this routine. See the Intel® oneMKL Fortran Developer Reference for details.
Application Notes
The computed matrix \(Q\) differs from an exactly orthogonal matrix by a matrix \(E\) such that \(||E||_{2} = O(\varepsilon)\) , where \(\varepsilon\) is the machine precision.
The approximate number of floating-point operations is \((4/3)n^{3}\) .
The complex counterpart of this routine is upgtr .