QZ (version 0.2-3)

QZ Decomposition Reordering: Reordering QZ Decomposition

Description

This function performs QZ decomposition on input paired matrices (A,B) or a single matrix A with reordering.

Usage

ordqz(A, B = NULL, cluster = NULL,
        keyword = c("lhp", "rhp", "udi", "udo", "ref", "cef",
                    "lhp.fo", "rhp.fo", "udi.fo", "udo.fo"),
        ...)

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

cluster

specifies the eigenvalues in the selected cluster.

keyword

as similarly used in MATLAB.

...

options to qz.* functions.

Author

Wei-Chen Chen wccsnow@gmail.com

Details

Either cluster or keyword should be specified.

cluster actually is the same as select in all qz.* functions.

keywork actually is similar as MATLAB.

keywordSelected Region
'lhp'Left-half plane (real(E) < 0)
'rhp'Right-half plane (real(E) >= 0)
'udi'Interior of unit disk (abs(E) < 1)
'udo'Exterior of unit disk (abs(E) >= 1)
'ref'Real eigenvalues first (top-left conner)
'cef'Complex eigenvalues first (top-left conner)
'lhp'Left-half plane (real(E) < 0) and finite only
'rhp'Right-half plane (real(E) >= 0) and finite only
'udi'Interior of unit disk (abs(E) < 1) and finite only
'udo'Exterior of unit disk (abs(E) >= 1) and finite only

References

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

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

See Also

qz, geigen.

Examples

Run this code

library(QZ, quiet = TRUE)

# Reordering eigenvalues
(ret <- ordqz(exAB1$A, exAB1$B, keyword = "lhp"))
(ret <- ordqz(exAB1$A, exAB1$B, keyword = "rhp"))
(ret <- ordqz(exAB1$A, exAB1$B, keyword = "udi"))
(ret <- ordqz(exAB1$A, exAB1$B, keyword = "udo"))
(ret <- ordqz(exAB1$A, exAB1$B, keyword = "ref"))
(ret <- ordqz(exAB1$A, exAB1$B, keyword = "cef"))
(ret <- ordqz(exAB1$A, exAB1$B, keyword = "lhp.fo"))
(ret <- ordqz(exAB1$A, exAB1$B, keyword = "rhp.fo"))
(ret <- ordqz(exAB1$A, exAB1$B, keyword = "udi.fo"))
(ret <- ordqz(exAB1$A, exAB1$B, keyword = "udo.fo"))


Run the code above in your browser using DataLab