[R] Schur decomposition? (was: matrix of eigenvalues)
Spencer Graves
spencer.graves at pdf.com
Tue Oct 19 19:41:58 CEST 2004
Does R have a function for the Schur decomposition? The
documentation for library(Matrix) describes a function "Schur", but it
seems to be missing from the Windows version 0.8-14 (2004-09-14) and
0.8-15 (2004-10-02).
The R 2.0.0 pat documentation for "eigen" refers to
"http://www.netlib.org/lapack/lug/lapack_lug.html", and the description
there for eigen analysis of a non-symmetric matrix says, "This problem
can be solved via the Schur factorization of A, defined in the real case as
A = ZTZT,
where Z is an orthogonal matrix and T is an upper quasi-triangular
matrix with 1-by-1 and 2-by-2 diagonal blocks, the 2-by-2 blocks
corresponding to complex conjugate pairs of eigenvalues of A."
Thanks,
Spencer Graves
Douglas Bates wrote:
> Christian Jost wrote:
>
>> I thought that the function
>> eigen(A)
>> will return a matrix with eigenvectors that are independent of each
>> other (thus forming a base and the matrix being invertible). This
>> seems not to be the case in the following example
>> A=matrix(c(1,2,0,1),nrow=2,byrow=T)
>> eigen(A) ->ev
>> solve(ev$vectors)
>>
>> note that I try to get the upper triangular form with eigenvalues on
>> the diagonal and (possibly) 1 just atop the eigenvalues to be used to
>> solve a linear differential equation
>> x' = Ax, x(0)=x0
>> x(t) = P exp(D t) P^-1 x0
>> where D is this upper triangular form and P is the "passage matrix"
>> (not sure about the correct english name) given by a base of
>> eigenvectors. So the test would be
>> solve(ev$vectors) %*% A %*% ev$vectors - D
>> should be 0
>>
>> Thanks for any help, Christian.
>>
>> ps: please copy reply also to my address, my subscription to the
>> R-help list seems to have delays
>
>
> That particular matrix has repeated eigenvalues and a degenerate
> eigenspace.
>
> > A <- matrix(c(1,0,2,1),nc=2)
> > A
> [,1] [,2]
> [1,] 1 2
> [2,] 0 1
> > eigen(A)
> $values
> [1] 1 1
>
> $vectors
> [,1] [,2]
> [1,] 1 -1.000000e+00
> [2,] 0 1.110223e-16
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide!
> http://www.R-project.org/posting-guide.html
--
Spencer Graves, PhD, Senior Development Engineer
O: (408)938-4420; mobile: (408)655-4567
More information about the R-help
mailing list