SCM

SCM Repository

[matrix] Diff of /pkg/TODO
ViewVC logotype

Diff of /pkg/TODO

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1738, Tue Jan 23 17:17:15 2007 UTC revision 2005, Wed Jul 18 14:46:20 2007 UTC
# Line 92  Line 92 
92  - chol() and determinant() should ``work'': proper result or "good" error  - chol() and determinant() should ``work'': proper result or "good" error
93    message.    message.
94    
 - Fully implement "Logic" methods - now (R 2.4.1) that the group is in S4  
   
95  - Think of constructing  setAs(...) calls automatically in order to  - Think of constructing  setAs(...) calls automatically in order to
96    basically enable all ``sensible'' as(fromMatrix, toMatrix)  calls,    basically enable all ``sensible'' as(fromMatrix, toMatrix)  calls,
97    possibly using canCoerce(.)    possibly using canCoerce(.)
# Line 109  Line 107 
107    "dCHMsimpl" and  "dCHMsuper"  -- currently have no *decent* way to get at    "dCHMsimpl" and  "dCHMsuper"  -- currently have no *decent* way to get at
108    the matrix factors of the corresponding matrix factorization !!    the matrix factors of the corresponding matrix factorization !!
109    
110    - rbind(<sparse>, <dense>) does not work  (e.g. <dgC>, <dge>)
111    
112    - setAs(<Mcl>,  "[dln]Matrix" )  for <Mcl> in {Matrix or denseMatrix + sparseMatrix}
113    
114    - Tell users about the possibility to disable the "S4-generic but somewhat slow"
115      cbind/rbind, e.g. via
116    
117      setHook(packageEvent("Matrix", "onLoad"),
118              function(...) methods:::bind_activation(FALSE))
119    
120    - ensure that  M[0], M[FALSE], M[1:2]  works as for traditional Matrices
121    
122    - make sure  M[FALSE, FALSE]  works for all Matrices
123      {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    - 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.1738  
changed lines
  Added in v.2005

root@r-forge.r-project.org
ViewVC Help
Powered by ViewVC 1.0.0  
Thanks to:
Vienna University of Economics and Business Powered By FusionForge