naginterfaces.library.lapackeig.zgebak

naginterfaces.library.lapackeig.zgebak(job, side, ilo, ihi, scale, v)[source]

zgebak transforms eigenvectors of a balanced matrix to those of the original complex general matrix.

For full information please refer to the NAG Library document for f08nw

https://support.nag.com/numeric/nl/nagdoc_30/flhtml/f08/f08nwf.html

Parameters
jobstr, length 1

This must be the same argument as supplied to zgebal().

sidestr, length 1

Indicates whether left or right eigenvectors are to be transformed.

The left eigenvectors are transformed.

The right eigenvectors are transformed.

iloint

The values and , as returned by zgebal().

ihiint

The values and , as returned by zgebal().

scalefloat, array-like, shape

Details of the permutations and/or the scaling factors used to balance the original complex general matrix, as returned by zgebal().

vcomplex, array-like, shape

The matrix of left or right eigenvectors to be transformed.

Returns
vcomplex, ndarray, shape

The transformed eigenvectors.

Raises
NagValueError
(errno )

On entry, error in parameter .

Constraint: , , or .

(errno )

On entry, error in parameter .

Constraint: or .

(errno )

On entry, error in parameter .

Constraint: .

(errno )

On entry, error in parameter .

(errno )

On entry, error in parameter .

(errno )

On entry, error in parameter .

Constraint: .

Notes

zgebak is intended to be used after a complex general matrix has been balanced by zgebal(), and eigenvectors of the balanced matrix have subsequently been computed.

For a description of balancing, see the document for zgebal(). 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 .