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

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

ordqz, geigen.

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

[Package QZ version 0.2-3 Index]