# SCM Repository

[matrix] Diff of /pkg/TODO
 [matrix] / pkg / TODO

# Diff of /pkg/TODO

revision 1799, Sat Mar 24 14:54:00 2007 UTC revision 1887, Thu Jun 7 09:04:34 2007 UTC
# Line 121  Line 121
121
122  - make sure  M[FALSE, FALSE]  works for all Matrices  - make sure  M[FALSE, FALSE]  works for all Matrices
123    {e.g. fails for M <- Diagonal(4)}    {e.g. fails for M <- Diagonal(4)}
124
125    - <sparse> %*% <dense>  {also in crossprod/tcrossprod}  currently always
126      returns <dense>, since --> Csparse_dense_prod --> cholmod_sdmult
127      and that does only return dense.
128      When the sparse matrix is very sparse, i.e. has many rows with only zero
129      entries, it would make much sense to return sparse.
130
131    - sparse-symmetric + diagonal should stay sparse-symmetric
132      (only stays sparse): Matrix(0, 4, 4) + Diagonal(4, 1:4)
133      --> R/diagMatrix.R ('FIXME')
134      but also R/Ops.R  to ensure  sp-sym. + sp-sym. |-> sp-sym.  etc
135
136    - For a square sparse matrix 'b' {typically dgCMatrix or dgTMatrix},
137      we'd want a function  "Mat_plus_t_Mat" <- function(b) {....}
138      which computes the symmetric sparse matrix   b + t(b)
139      in way that never works with size-doubled vectors from  b@i etc..
140
141    - ! <symmetricMatrix>  loses symmetry, both for dense and sparse matrices.
142      !M  where M is "sparseMatrix", currently always gives dense. This only
143      makes sense when M is ``really sparse''.
144
145    - column names of sparse matrices are not printed;
146      we now "mention" them (if they are non-empty).
147      Option:
148            build show( <sparseMatrix>) on a function, possibly
149            print.sparseMatrix(), which gets an argument such as
150            'col.names.show  = FALSE' which is documented and can be set to TRUE
151
152    - 'arules' needs fast colSums() and rowSums() - for ngCMatrix;
153      do it for "nMatrix" and "lMatrix" and return *integer*

Legend:
 Removed from v.1799 changed lines Added in v.1887