| QZ Decomposition {QZ} | R Documentation |
QZ Decomposition
Description
This function performs QZ decomposition on input paired matrices (A,B) or a single matrix A.
Usage
qz(A, B = NULL, select = NULL, only.values = FALSE, ...)
Arguments
A |
a 'complex/real' matrix, dim = c(N, N). |
B |
a 'complex/real' matrix, dim = c(N, N). |
select |
specifies the eigenvalues in the selected cluster. |
only.values |
if 'TRUE', only the eigenvalues are computed and returned, otherwise both eigenvalues and eigenvectors are returned. |
... |
options to |
Details
If select is NULL, then
call one of qz.zgges, qz.dgges,
qz.zgees, or qz.dgees depending on the
input arguments and types.
If select is not NULL, then
call one of qz.zgges + qz.ztgsen,
qz.dgges + qz.dtgsen,
qz.zgees + qz.ztrsen, or
qz.dgees + qz.dtrsen depending on the
input arguments and types.
Value
Returns a list from the call.
Author(s)
Wei-Chen Chen wccsnow@gmail.com
References
Anderson, E., et al. (1999) LAPACK User's Guide, 3rd edition, SIAM, Philadelphia.
https://en.wikipedia.org/wiki/Schur_decomposition
See Also
Examples
library(QZ, quiet = TRUE)
### https://www.nag.com/lapack-ex/node124.html
(ret <- qz(exAB1$A, exAB1$B))
### https://www.nag.com/lapack-ex/node119.html
(ret <- qz(exAB2$A, exAB2$B))
### https://www.nag.com/lapack-ex/node94.html
(ret <- qz(exA1$A))
### https://www.nag.com/lapack-ex/node89.html
(ret <- qz(exA2$A))
# Reordering eigenvalues
select1 <- c(TRUE, FALSE, FALSE, TRUE)
select2 <- c(FALSE, TRUE, TRUE, FALSE)
(ret <- qz(exAB1$A, exAB1$B, select = select1))
(ret <- qz(exAB2$A, exAB2$B, select = select2))
(ret <- qz(exA1$A, select = select1))
(ret <- qz(exA2$A, select = select1))