Cholesky-class            package:Matrix            R Documentation

_C_h_o_l_e_s_k_y _a_n_d _B_u_n_c_h-_K_a_u_f_m_a_n _D_e_c_o_m_p_o_s_i_t_i_o_n_s

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

     The '"Cholesky"' class is the class of Cholesky decompositions of
     positive-semidefinite, real dense matrices.  The '"BunchKaufman"'
     class is the class of Bunch-Kaufman decompositions of symmetric,
     real matrices.  The '"pCholesky"' and '"pBunchKaufman"' classes
     are their _*p*acked_ storage versions.

_O_b_j_e_c_t_s _f_r_o_m _t_h_e _C_l_a_s_s:

     Objects can be created by calls of the form 'new("Cholesky", ...)'
     or 'new("BunchKaufman", ...)', etc, or rather by calls of the form
     'chol(pm)' or 'BunchKaufman(pm)' where 'pm' inherits from the
     '"dpoMatrix"' or '"dsyMatrix"' class or as a side-effect of other
     functions applied to '"dpoMatrix"' objects (see 'dpoMatrix').

_S_l_o_t_s:

     A Cholesky decomposition extends class 'MatrixFactorization' but
     is basically a triangular matrix extending the '"dtrMatrix"'
     class.

     '_u_p_l_o': inherited from the '"dtrMatrix"' class.

     '_d_i_a_g': inherited from the '"dtrMatrix"' class.

     '_x': inherited from the '"dtrMatrix"' class.

     '_D_i_m': inherited from the '"dtrMatrix"' class.

     '_D_i_m_n_a_m_e_s': inherited from the '"dtrMatrix"' class.

     A Bunch-Kaufman decomposition also extends the '"dtrMatrix"' class
     and has a 'perm' slot representing a permutation matrix. The
     packed versions extend the '"dtpMatrix"' class.

_E_x_t_e_n_d_s:

     Class '"MatrixFactorization"' and '"dtrMatrix"', directly. Class
     '"dgeMatrix"', by class '"dtrMatrix"'. Class '"Matrix"', by class
     '"dtrMatrix"'.

_M_e_t_h_o_d_s:

     There are currently no methods defined with class "Cholesky" in
     the signature.  Of course methods for '"dtrMatrix"' or
     '"MatrixFactorization"' do apply.

_N_o_t_e:


        1.  Objects of class '"Cholesky"' typically stem from
           'chol(D)', applied to a _dense_ matrix 'D'.

           On the other hand, the _function_ 'Cholesky(S)' applies to a
           _sparse_ matrix 'S', and results in objects inheriting from
           class 'CHMfactor'.

        2.  For traditional matrices 'm', 'chol(m)' is a traditional
           matrix as well, triangular, but simply an n * n numeric
           'matrix'.  Hence, for compatibility, the '"Cholesky"' and
           '"BunchKaufman"' classes (and their '"p*"' packed versions)
           also extend triangular Matrix classes (such as "dtrMatrix").

           Consequently, 'determinant(R)' for 'R <- chol(A)' returns
           the determinant of 'R', not of 'A'.  This is in contrast to
           class 'CHMfactor' objects 'C', where 'determinant(C)' gives
           the determinant of the _original_ matrix 'A', for 'C <-
           Cholesky(A)', see also the 'determinant' method
           documentation on the class 'CHMfactor' page.

_S_e_e _A_l_s_o:

     Classes 'dtrMatrix', 'dpoMatrix'; function 'chol'.

     Function 'Cholesky' resulting in class 'CHMfactor' objects, _not_
     class "Cholesky" ones, see the section Note.

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

     (sm <- as(as(Matrix(diag(5) + 1), "dsyMatrix"), "dspMatrix"))
     signif(csm <- chol(sm), 4)

     (pm <- crossprod(Matrix(rnorm(18), nrow = 6, ncol = 3)))
     (ch <- chol(pm))
     if (toupper(ch@uplo) == "U") # which is TRUE
        crossprod(ch)
     stopifnot(all.equal(as(crossprod(ch), "matrix"),
                         as(pm, "matrix"), tol=1e-14))

