Visible to Intel only — GUID: GUID-9F6FDE68-961D-47C3-8DEA-B1986FC060A6
Visible to Intel only — GUID: GUID-9F6FDE68-961D-47C3-8DEA-B1986FC060A6
?gebak
Transforms eigenvectors of a balanced matrix to those of the original nonsymmetric matrix.
Syntax
lapack_int LAPACKE_sgebak( int matrix_layout, char job, char side, lapack_int n, lapack_int ilo, lapack_int ihi, const float* scale, lapack_int m, float* v, lapack_int ldv );
lapack_int LAPACKE_dgebak( int matrix_layout, char job, char side, lapack_int n, lapack_int ilo, lapack_int ihi, const double* scale, lapack_int m, double* v, lapack_int ldv );
lapack_int LAPACKE_cgebak( int matrix_layout, char job, char side, lapack_int n, lapack_int ilo, lapack_int ihi, const float* scale, lapack_int m, lapack_complex_float* v, lapack_int ldv );
lapack_int LAPACKE_zgebak( int matrix_layout, char job, char side, lapack_int n, lapack_int ilo, lapack_int ihi, const double* scale, lapack_int m, lapack_complex_double* v, lapack_int ldv );
Include Files
- mkl.h
Description
The routine is intended to be used after a matrix A has been balanced by a call to ?gebal, and eigenvectors of the balanced matrix A''22 have subsequently been computed. For a description of balancing, see gebal. The balanced matrix A'' is obtained as A''= D*P*A*PT*inv(D), where P is a permutation matrix and D is a diagonal scaling matrix. This routine transforms the eigenvectors as follows:
if x is a right eigenvector of A'', then PT*inv(D)*x is a right eigenvector of A; if y is a left eigenvector of A'', then PT*D*y is a left eigenvector of A.
Input Parameters
- matrix_layout
-
Specifies whether matrix storage layout is row major (LAPACK_ROW_MAJOR) or column major (LAPACK_COL_MAJOR).
- job
-
Must be 'N' or 'P' or 'S' or 'B'. The same parameter job as supplied to ?gebal.
- side
-
Must be 'L' or 'R'.
If side = 'L', then left eigenvectors are transformed.
If side = 'R', then right eigenvectors are transformed.
- n
-
The number of rows of the matrix of eigenvectors (n≥ 0).
- ilo, ihi
-
The values ilo and ihi, as returned by ?gebal. (If n > 0, then 1 ≤ilo≤ihi≤n;
if n = 0, then ilo = 1 and ihi = 0.)
- scale
-
Array, size at least max(1, n).
Contains details of the permutations and/or the scaling factors used to balance the original general matrix, as returned by ?gebal.
- m
-
The number of columns of the matrix of eigenvectors (m≥ 0).
- v
-
Arrays:
v(size max(1, ldv*n) for column major layout and max(1, ldv*m) for row major layout) contains the matrix of left or right eigenvectors to be transformed.
- ldv
-
The leading dimension of v; at least max(1, n) for column major layout and at least max(1, m) for row major layout .
Output Parameters
- v
-
Overwritten by the transformed eigenvectors.
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.
Application Notes
The errors in this routine are negligible.
The approximate number of floating-point operations is approximately proportional to m*n.