qz.zgees | R Documentation |
This function call 'zgees' in Fortran to decompose a 'complex' matrix A.
qz.zgees(A, vs = TRUE, LWORK = NULL)
A |
a 'complex' matrix, dim = c(N, N). |
vs |
if compute 'complex' Schur vectors. (Q) |
LWORK |
optional, dimension of array WORK for workspace. (>= 2N) |
See 'zgees.f' for all details.
ZGEES computes for an N-by-N complex non-symmetric matrix A, the eigenvalues, the Schur form T, and, optionally, the matrix of Schur vectors Q. This gives the Schur factorization A = Q*T*(Q**H).
Optionally, it also orders the eigenvalues on the diagonal of the Schur form so that selected eigenvalues are at the top left. The leading columns of Q then form an orthonormal basis for the invariant subspace corresponding to the selected eigenvalues.
A complex matrix is in Schur form if it is upper triangular.
Return a list contains next:
'T' |
A's generalized Schur form. |
'W' |
generalized eigenvalues. |
'VS' |
original returns from 'zgees.f'. |
'WORK' |
optimal LWORK (for zgees.f only) |
'INFO' |
= 0: successful. < 0: if INFO = -i, the i-th argument had an illegal value. =1,...,N: QZ iteration failed. =N+1: reordering problem. =N+2: reordering failed. |
Extra returns in the list:
'Q' |
the Schur vectors. |
The results may not be consistent on 32 bits and 64 bits Windows systems, but may be valid on both systems.
Wei-Chen Chen wccsnow@gmail.com
Anderson, E., et al. (1999) LAPACK User's Guide, 3rd edition, SIAM, Philadelphia.
https://www.netlib.org/lapack/complex16/zgees.f
https://en.wikipedia.org/wiki/Schur_decomposition
qz.zgeev
library(QZ, quiet = TRUE)
### https://www.nag.com/lapack-ex/node94.html
A <- exA1$A
ret <- qz.zgees(A)
# Verify 1
A.new <- ret$Q %*% ret$T %*% H(ret$Q)
round(A - A.new)
# verify 2
round(ret$Q %*% H(ret$Q))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.