nag_dgebak (f08njc) transforms eigenvectors of a balanced matrix to those of the original real nonsymmetric matrix.
nag_dgebak (f08njc) is intended to be used after a real nonsymmetric matrix
has been balanced by
nag_dgebal (f08nhc), and eigenvectors of the balanced matrix
have subsequently been computed.
For a description of balancing, see the document for
nag_dgebal (f08nhc). The balanced matrix
is obtained as
, where
is a permutation matrix and
is a diagonal scaling matrix. This function transforms left or right eigenvectors as follows:
- if is a right eigenvector of , is a right eigenvector of ;
- if is a left eigenvector of , is a left eigenvector of .
None.
- NE_ALLOC_FAIL
-
Dynamic memory allocation failed.
- NE_BAD_PARAM
-
On entry, argument had an illegal value.
- NE_INT
-
On entry, .
Constraint: .
On entry, .
Constraint: .
On entry, .
Constraint: .
- NE_INT_2
-
On entry, and .
Constraint: .
On entry, and .
Constraint: .
- NE_INT_3
-
On entry, , and .
Constraint: if , ;
if , and .
- NE_INTERNAL_ERROR
-
An internal error has occurred in this function. Check the function call and any array sizes. If the call is correct then please contact
NAG for assistance.
The errors are negligible.
nag_dgebak (f08njc) is not threaded by NAG in any implementation.
nag_dgebak (f08njc) makes calls to BLAS and/or LAPACK routines, which may be threaded within the vendor library used by this implementation. Consult the documentation for the vendor library for further information.
Please consult the
Users' Note for your implementation for any additional implementation-specific information.
The complex analogue of this function is
nag_zgebak (f08nwc).