SCM Repository

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

revision 2175, Wed Apr 23 11:23:50 2008 UTC revision 2207, Mon Jul 7 22:34:52 2008 UTC
# Line 74  Line 74
74    specifically for multiplying a cholmod_sparse object by a diagonal matrix.    specifically for multiplying a cholmod_sparse object by a diagonal matrix.
75    Use it in %*% and [t]crossprod methods.    Use it in %*% and [t]crossprod methods.
76
77  - chol() and determinant() should ``work'': proper result or "good" error  - chol() should ``work'': proper result or "good" error message.
message.
78
79  - make sure *all* group methods have (maybe "bail-out") setMethod for "Matrix".  - make sure *all* group methods have (maybe "bail-out") setMethod for "Matrix".
80    e.g. zapsmall(<pMatrix>) fails "badly"    e.g. zapsmall(<pMatrix>) fails "badly"
81
- sum(): implement methods which work for *all* our matrices.

82  - Implement  expand(.) for the Cholesky() results  - Implement  expand(.) for the Cholesky() results
83    "dCHMsimpl" and  "dCHMsuper"  -- currently have no *decent* way to get at    "dCHMsimpl" and  "dCHMsuper"  -- currently have no *decent* way to get at
84    the matrix factors of the corresponding matrix factorization !!    the matrix factors of the corresponding matrix factorization !!
# Line 99  Line 96
96    --> R/diagMatrix.R ('FIXME')    --> R/diagMatrix.R ('FIXME')
97    but also R/Ops.R  to ensure  sp-sym. + sp-sym. |-> sp-sym.  etc    but also R/Ops.R  to ensure  sp-sym. + sp-sym. |-> sp-sym.  etc
98
- Diagonal(n) %*% A ---  too slow!! --> ~/R/MM/Pkg-ex/Matrix/diag-Tamas-ex.R

99  - ! <symmetricMatrix>  loses symmetry, both for dense and sparse matrices.  - ! <symmetricMatrix>  loses symmetry, both for dense and sparse matrices.
100    !M  where M is "sparseMatrix", currently always gives dense. This only    !M  where M is "sparseMatrix", currently always gives dense. This only
101    makes sense when M is ``really sparse''.    makes sense when M is ``really sparse''.
102
- msy <- as(matrix(c(2:1,1:2),2), "dsyMatrix"); str(msy)

shows that the Cholesky factorization is computed ``too quickly''.
Can be a big pain for largish matrices, when it is unneeded.

103  - example(Cholesky, echo=FALSE) ; cm <- chol(mtm); str(cm); str(mtm)  - example(Cholesky, echo=FALSE) ; cm <- chol(mtm); str(cm); str(mtm)
104
105    shows that chol() does not seems to make use of an already    shows that chol() does not seems to make use of an already
# Line 121  Line 111
111    above currently goes via "matrix" and back instead of using the 'x' slot    above currently goes via "matrix" and back instead of using the 'x' slot
112    directly; in particular, the triangular* "class property" is lost!    directly; in particular, the triangular* "class property" is lost!
113
114      Note that 'diag(M[,-1]) <- val' is deadly slow for large sparse M,
115      but that's because of the "outer" assignment in the equivalent
116      M[,-1] <- `diag<-`(M[,-1], val).
117
118  - examples for solve( Cholesky(.), b, system = c("A", "LDLt"....))  - examples for solve( Cholesky(.), b, system = c("A", "LDLt"....))
119    probably rather in man/CHMfactor-class.Rd than man/Cholesky.Rd    probably rather in man/CHMfactor-class.Rd than man/Cholesky.Rd
120
# Line 182  Line 176
176    An R (instead of C) version should be pretty simple, and would work with    An R (instead of C) version should be pretty simple, and would work with
177    connections automatically ["lsparse" become either "real" or    connections automatically ["lsparse" become either "real" or
178    "pattern", "depending if they have NAs or not].    "pattern", "depending if they have NAs or not].
179
180    - <diagMatrix> o <ddenseMatrix> currently works via sparse, but
181      should return <diagMatrix> in the same cases where
182      <diagMatrix> o <numeric> does.
183
184    - look at solve.QP.compact() in \pkg{quadprog} and how to do that using
185      our sparse matrices.  Maybe this needs to be re-implemented using CHOLMOD
186      routines.
187
188    - "sparseVector" : indices, i.e. @i and @length  should be changed
189                     from class "integer" to "numeric" (i.e. double prec),
190      since we want to be able to coerce large sparse matrices to sparse
191      vectors, where length maybe considerably larger than 2^32.

Legend:
 Removed from v.2175 changed lines Added in v.2207

 root@r-forge.r-project.org ViewVC Help Powered by ViewVC 1.0.0
Thanks to:  