Learn R Programming

fastmatrix (version 0.6-2)

schur: The Schur decomposition of a square matrix

Description

schur computes the Schur decomposition of an \(n \times n\) real matrix \(\bold{A}\).

Usage

schur(x, vectors = TRUE)

Value

The Schur decomposition of the matrix as computed by LAPACK. The components in the returned value correspond directly to the values returned by DGEES.

m

a matrix with the same dimensions as x. The upper triangle contains the \(\bold{M}\) matrix of the decomposition.

values

a vector containing the \(n\) eigenvalues of x, these values are not ordered.

vectors

an \(n \times n\) matrix whose columns contain the eigenvectors of x, only available if it is requested.

Arguments

x

a square numeric matrix to be decomposed.

vectors

logical, if TRUE (the default), then Schur vectors are returned.

Details

For an \(n \times n\) real matrix \(\bold{A}\), the Schur decomposition is given by, $$\bold{A} = \bold{VMV}^T$$ where \(\bold{V}\) is an orthogonal matrix and \(\bold{M}\) is an upper triangular matrix. The column vectors \(\bold{V}\) (if requested) are the Schur vectors of \(\bold{A}\), and \(\bold{M}\) is the Schur form of \(\bold{A}\).

Unsuccessful results from the underlying LAPACK code will result in an error giving a error code: these can only be interpreted by detailed study of the Fortran code.

References

Anderson. E., Bai, Z., Bischof, C., Blackford, S., Demmel, J., Dongarra, J., Du Croz, J., Greenbaum, A., Hammarling, S., McKenney, A. Sorensen, D. (1999). LAPACK Users' Guide, 3rd Edition. SIAM.

Golub, G.H., Van Loan, C.F. (1996). Matrix Computations, 3rd Edition. John Hopkins University Press.

Examples

Run this code
a <- matrix(c(7,12,-2,-3), ncol = 2)
z <- schur(a)
z # information of Schur decomposition

x <- matrix(c(0,0,1,2,1,0,2,2,1), ncol = 3)
z <- schur(x)
z # complex eigenvalues

Run the code above in your browser using DataLab