QZ (version 0.2-3)

QZ Decomposition: 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, ...)

Value

Returns a list from the call.

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 qz.* functions.

Author

Wei-Chen Chen wccsnow@gmail.com

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.

References

Anderson, E., et al. (1999) LAPACK User's Guide, 3rd edition, SIAM, Philadelphia.

https://en.wikipedia.org/wiki/Schur_decomposition

See Also

ordqz, geigen.

Examples

Run this code

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

Run the code above in your browser using DataLab