band                 package:Matrix                 R Documentation

_E_x_t_r_a_c_t _b_a_n_d_s _o_f _a _m_a_t_r_i_x

_D_e_s_c_r_i_p_t_i_o_n:

     Returns a new matrix formed by extracting the lower triangle
     ('tril') or the upper triangle ('triu') or a general band relative
     to the diagonal ('band'), and setting other elements to zero.  The
     general forms of these functions include integer arguments to
     specify how many diagonal bands above or below the main diagonal
     are not set to zero.

_U_s_a_g_e:

     band(x, k1, k2, ...)
     tril(x, k = 0, ...)
     triu(x, k = 0, ...)

_A_r_g_u_m_e_n_t_s:

       x: a matrix-like object

 k,k1,k2: integers specifying the diagonal bands that will not be set
          to zero.  These are given relative to the main diagonal,
          which is 'k=0'.  A negative value of 'k' indicates a diagonal
          below the main diagonal and a positive value indicates a
          diagonal above the main diagonal.

     ...: Optional arguments used by specific methods. (None used at
          present.)

_V_a_l_u_e:

     An object of an appropriate matrix class.  The class of the value
     of 'tril' or 'triu' inherits from 'triangularMatrix' when
     appropriate.  Note that the result is of class 'sparseMatrix' only
     if 'x' is.

_M_e_t_h_o_d_s:


     _x = "_C_s_p_a_r_s_e_M_a_t_r_i_x" method for compressed, sparse, column-oriented
          matrices.

     _x = "_T_s_p_a_r_s_e_M_a_t_r_i_x" method for sparse matrices in triplet format.

     _x = "_R_s_p_a_r_s_e_M_a_t_r_i_x" method for compressed, sparse, row-oriented
          matrices.

     _x = "_d_d_e_n_s_e_M_a_t_r_i_x" method for dense numeric matrices, including
          packed numeric matrices.

_S_e_e _A_l_s_o:

     'bandSparse' for the _construction_ of a banded sparse matrix
     directly from its non-zero diagonals.

_E_x_a_m_p_l_e_s:

     ## A random sparse matrix :
     set.seed(7)
     m <- matrix(0, 5, 5)
     m[sample(length(m), size = 14)] <- rep(1:9, length=14)
     (mm <- as(m, "CsparseMatrix"))

     tril(mm)        # lower triangle
     tril(mm, -1)    # strict lower triangle
     triu(mm,  1)    # strict upper triangle
     band(mm, -1, 2) # general band
     (m5 <- Matrix(rnorm(25), nc = 5))
     tril(m5)        # lower triangle
     tril(m5, -1)    # strict lower triangle
     triu(m5, 1)     # strict upper triangle
     band(m5, -1, 2) # general band
     (m65 <- Matrix(rnorm(30), nc = 5))  # not square
     triu(m65)       # result in not dtrMatrix unless square
     (sm5 <- crossprod(m65)) # symmetric
        band(sm5, -1, 1)# symmetric band preserves symmetry property
     as(band(sm5, -1, 1), "sparseMatrix")# often preferable

