naginterfaces.library.lapackeig.zgghd3¶
- naginterfaces.library.lapackeig.zgghd3(compq, compz, ilo, ihi, a, b, q, z)[source]¶
zgghd3
reduces a pair of complex matrices , where is upper triangular, to the generalized upper Hessenberg form using unitary transformations.For full information please refer to the NAG Library document for f08wt
https://support.nag.com/numeric/nl/nagdoc_30.3/flhtml/f08/f08wtf.html
- Parameters
- compqstr, length 1
Specifies the form of the computed unitary matrix .
Do not compute .
The unitary matrix is returned.
must contain a unitary matrix , and the product is returned.
- compzstr, length 1
Specifies the form of the computed unitary matrix .
Do not compute .
must contain a unitary matrix , and the product is returned.
The unitary matrix is returned.
- iloint
and as determined by a previous call to
zggbal()
. Otherwise, they should be set to and , respectively.- ihiint
and as determined by a previous call to
zggbal()
. Otherwise, they should be set to and , respectively.- acomplex, array-like, shape
The matrix of the matrix pair . Usually, this is the matrix returned by
zunmqr()
.- bcomplex, array-like, shape
The upper triangular matrix of the matrix pair . Usually, this is the matrix returned by the factorization function
zgeqrf()
.- qcomplex, array-like, shape
Note: the required extent for this argument in dimension 1 is determined as follows: if : ; if : ; otherwise: .
Note: the required extent for this argument in dimension 2 is determined as follows: if : ; if : ; otherwise: .
If , must contain a unitary matrix .
If , is not referenced.
- zcomplex, array-like, shape
Note: the required extent for this argument in dimension 1 is determined as follows: if : ; if : ; otherwise: .
Note: the required extent for this argument in dimension 2 is determined as follows: if : ; if : ; otherwise: .
If , must contain a unitary matrix .
If , is not referenced.
- Returns
- acomplex, ndarray, shape
is overwritten by the upper Hessenberg matrix .
- bcomplex, ndarray, shape
is overwritten by the upper triangular matrix .
- qcomplex, ndarray, shape
If , contains the unitary matrix .
Iif , is overwritten by .
- zcomplex, ndarray, shape
If , contains the unitary matrix .
If , is overwritten by .
- 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 .
Constraint: .
- (errno )
On entry, error in parameter .
Constraint: .
- (errno )
On entry, error in parameter .
Constraint: and .
- Notes
zgghd3
is usually the third step in the solution of the complex generalized eigenvalue problemThe (optional) first step balances the two matrices using
zggbal()
. In the second step, matrix is reduced to upper triangular form using the factorization functionzgeqrf()
and this unitary transformation is applied to matrix by callingzunmqr()
. The driver,zggev3()
, solves the complex generalized eigenvalue problem by combining all the required steps including those just listed.zgghd3
reduces a pair of complex matrices , where is triangular, to the generalized upper Hessenberg form using unitary transformations. This two-sided transformation is of the formwhere is an upper Hessenberg matrix, is an upper triangular matrix and and are unitary matrices determined as products of Givens rotations. They may either be formed explicitly, or they may be postmultiplied into input matrices and , so that
- References
Golub, G H and Van Loan, C F, 2012, Matrix Computations, (4th Edition), Johns Hopkins University Press, Baltimore
Moler, C B and Stewart, G W, 1973, An algorithm for generalized matrix eigenproblems, SIAM J. Numer. Anal. (10), 241–256