sparseVector-class          package:Matrix          R Documentation

_S_p_a_r_s_e _V_e_c_t_o_r _C_l_a_s_s_e_s

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

     Sparse Vector Classes: The virtual mother class '"sparseVector"'
     has the five actual daughter classes '"dsparseVector"',
     '"isparseVector"', '"lsparseVector"', '"nsparseVector"', and
     '"zsparseVector"', where we've mainly implemented methods for the
     'd*', 'l*' and 'n*' ones.

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

     '_l_e_n_g_t_h': class '"integer"' - the 'length' of the sparse vector.

     '_i': class '"integer"' - the (1-based) indices of the non-zero
          entries.

     '_x': (for all but '"nsparseVector"'): the non-zero entries.  This
          is of class '"numeric"' for class '"dsparseVector"', 
          '"logical"' for class '"lsparseVector"', etc.

          Note that '"nsparseVector"'s have no 'x' slot. Further,
          mainly for ease of method definitions, we've defined the
          class union (see 'setClassUnion') of all sparse vector
          classes which _have_ an 'x' slot, as class '"xsparseVector"'.

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

     _l_e_n_g_t_h 'signature(x = "sparseVector")': simply extracts the
          'length' slot.

     _s_h_o_w 'signature(object = "sparseVector")': The 'show' method for
          sparse vectors prints _"structural"_ zeroes as '"."' using
          the non-exported 'prSpVector' function which allows further
          customization such as replacing '"."' by '" "' (blank).

          Note that 'options(max.print)' will influence how many
          entries of large sparse vectors are printed at all.

     _a_s._v_e_c_t_o_r 'signature(x = "sparseVector", mode = "character")'
          coerces sparse vectors to "regular", i.e., atomic vectors.
          This is the same as 'as(x, "vector")'.

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

     showClass("sparseVector")
     showClass("dsparseVector")
     showClass("xsparseVector")# those with an 'x' slot

     sx <- c(0,0,3, 3.2, 0,0,0,-3:1,0,0,2,0,0,5,0,0)
     (ss <- as(sx, "sparseVector"))

     ix <- as.integer(round(sx))
     (is <- as(ix, "sparseVector"))
     as(is, "isparseVector") 

