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))