# SCM Repository

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

# Diff of /pkg/TODO

revision 1833, Tue May 8 12:25:57 2007 UTC revision 2005, Wed Jul 18 14:46:20 2007 UTC
# Line 130  Line 130
130
131  - sparse-symmetric + diagonal should stay sparse-symmetric  - sparse-symmetric + diagonal should stay sparse-symmetric
132    (only stays sparse): Matrix(0, 4, 4) + Diagonal(4, 1:4)    (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},  - For a square sparse matrix 'b' {typically dgCMatrix or dgTMatrix},
137    we'd want a function  "Mat_plus_t_Mat" <- function(b) {....}    we'd want a function  "Mat_plus_t_Mat" <- function(b) {....}
# Line 139  Line 141
141  - ! <symmetricMatrix>  loses symmetry, both for dense and sparse matrices.  - ! <symmetricMatrix>  loses symmetry, both for dense and sparse matrices.
142    !M  where M is "sparseMatrix", currently always gives dense. This only    !M  where M is "sparseMatrix", currently always gives dense. This only
143    makes sense when M is ``really sparse''.    makes sense when M is ``really sparse''.
144
145    - log1p(<sparseMatrix>) "should" give <dsparseMatrix>
146      Pretty surely, this would happen automagically, if "log1p" became part of
147      "Math" group generic ---> which is the case from R 2.6.0 on
148
149    - msy <- as(matrix(c(2:1,1:2),2), "dsyMatrix"); str(msy)
150
151      shows that the Cholesky factorization is computed ``too quickly''.
152      Can be a big pain for largish matrices, when it is unneeded.
153
154    - diag(m) <- val    currently automatically works via  m[cbind(i,i)] <- val
155      However,
156      we need methods for 'diag<-' at least for diagonalMatrix,
157      triangularMatrix, and probably also "dense*general*Matrix" since the
158      above currently goes via "matrix" and back instead of using the 'x' slot
159      directly.

Legend:
 Removed from v.1833 changed lines Added in v.2005