Schur                 package:Matrix                 R Documentation

_S_c_h_u_r _D_e_c_o_m_p_o_s_i_t_i_o_n _o_f _a _M_a_t_r_i_x

_D_e_s_c_r_i_p_t_i_o_n:

     Computes the Schur decomposition and eigenvalues of a square
     matrix.

_U_s_a_g_e:

     Schur(x, vectors, ...)

_A_r_g_u_m_e_n_t_s:

       x: numeric or complex square Matrix inheriting from class
          '"Matrix"'. Missing values (NAs) are not allowed. 

 vectors: logical.  When 'TRUE' (the default), the Schur vectors are
          computed. 

     ...: further arguments passed to or from other methods.

_D_e_t_a_i_l_s:

     Based on the Lapack subroutine 'dgees'.

_V_a_l_u_e:

     An object of class 'c("schur.Matrix", "decomp")' whose attributes
     include the eigenvalues, the Schur quasi-triangular form of the
     matrix, and the Schur vectors (if requested).

_B_A_C_K_G_R_O_U_N_D:

     If 'A' is a square matrix, then 'A = Q T t(Q)', where 'Q' is
     orthogonal, and 'T' is upper quasi-triangular (nearly triangular
     with either 1 by 1 or 2 by 2 blocks on the diagonal). The
     eigenvalues of 'A' are the same as those of 'T', which are easy to
     compute.  The Schur form is used most often for computing
     non-symmetric eigenvalue decompositions, and for computing
     functions of matrices such as matrix exponentials.

_R_e_f_e_r_e_n_c_e_s:

     Anderson, E., et al. (1994). _LAPACK User's Guide,_ 2nd edition,
     SIAM, Philadelphia.

_E_x_a_m_p_l_e_s:

     Schur(Hilbert(9))              # Schur factorization (real eigenvalues)

     (A <- Matrix(round(rnorm(5*5, sd = 100)), nrow = 5))
     (Sch.A <- Schur(A))
     ## The 'WR' and 'WI' components:
     eTA <- eigen(Sch.A$T)
     stopifnot(all.equal(eTA$values, eigen(A)$values, tol = 1e-13),
               all.equal(eTA$values,
                         local({z <- with(Sch.A, WR + 1i* WI)
                                z[order(Mod(z), decreasing=TRUE)]}), tol = 1e-13))

