drop0 package:Matrix R Documentation _D_r_o_p "_E_x_p_l_i_c_i_t _Z_e_r_o_e_s" _f_r_o_m _a _S_p_a_r_s_e _M_a_t_r_i_x _D_e_s_c_r_i_p_t_i_o_n: Returns a sparse matrix with no "explicit zeroes", i.e., all zero or 'FALSE' entries are dropped from the explicitly indexed matrix entries. _U_s_a_g_e: drop0(x, tol = 0, is.Csparse = NA) _A_r_g_u_m_e_n_t_s: x: a Matrix, typically sparse, i.e., inheriting from 'sparseMatrix'. tol: non-negative number to be used as tolerance for checking if an entry x[i,j] should be considered to be zero. is.Csparse: logical indicating prior knowledge about the "Csparseness" of 'x'. This exists for possible speedup reasons only. _V_a_l_u_e: a Matrix like 'x' but with no explicit zeros, i.e., '!any(x@x == 0)', always inheriting from 'CsparseMatrix'. _N_o_t_e: When a sparse matrix is the result of matrix multiplications, you may want to consider combining 'drop0()' with 'zapsmall()', see the example. _S_e_e _A_l_s_o: 'spMatrix', class 'sparseMatrix' _E_x_a_m_p_l_e_s: m <- spMatrix(10,20, i= 1:8, j=2:9, x = c(0:2,3:-1)) m drop0(m) ## A larger example: t5 <- new("dtCMatrix", Dim = c(5L, 5L), uplo = "L", x = c(10, 1, 3, 10, 1, 10, 1, 10, 10), i = c(0L,2L,4L, 1L, 3L,2L,4L, 3L, 4L), p = c(0L, 3L, 5L, 7:9)) TT <- kronecker(t5, kronecker(kronecker(t5,t5), t5)) IT <- solve(TT) I. <- TT %*% IT ; nnzero(I.) # 697 ( = 625 + 72 ) I.0 <- drop0(zapsmall(I.)) stopifnot(all(I.0 == Diagonal(625)))