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

