Rev 1929 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed
- Sparse matrix methods can now be based on the CHOLMOD package. Wewill need to migrate from the current code to CHOLMOD-based codeusing #ifdef USE_CHOLMOD. Some of the things to be done- Move documentation from subdirectories of src to inst/doc- Write utilities to create a cholmod_sparse pointer from adgCMatrix or lgCMatrix (or zgCMatrix) object without copying andallocating.- Start adding simple S4 methods (rcond, %*%, +, cbind, t).- Report the problem in the Linux ldexp manual page. The second andthird calls in the Synopsis should be to ldexpf and ldexpl.- [,] indexing: for sparse "works", but not yet for negative indices!- consider moving alloc3Darray from ./src/Mutils.c to$(RSRC)/src/base/array.c-------- provide methods for "dspMatrix" and "dppMatrix"!- implement (more) methods for supporting "packed" (symmetric / triangular)matrices; particularly something like pack() and unpack() [to/from ourclasses from/to "numeric"] --- have already man/unpack.Rd but no method yet!(have some dtr* <-> dtp*)- implement diagonal Matrix class "ddiMatrix" etcusing constructor function Diagonal() or Diag().- rcond() of a singular dpoMatrix gives a LaPack error instead of just 0:MM <- crossprod(M <- Matrix(c(1:4,9:6), 2,4)) ; rcond(MM)##> Error in rcond(MM) : Lapack routine dpotrf returned error code 4It's .Call("dpoMatrix_rcond") --> set_rcond() in src/dpoMatrix.cand in src/dppMatrix.c similarly.Done(2005-10-03): The error message is more helpful now.---- combine the C functions for multiplication by special forms andsolution wrt special forms by using a 'right' argument and a'classed' argument.[done with dgeMatrix_matrix_mm(); not yet for other classes;and for _crossprod()]- add more comprehensive examples / tests for Schur decomposition- arithmetic for sparse matrices:<sparseMatrix> o <same-dim-sparseMatrix>should return a sparse matrix for at least "+" and "*" , also %%,and "/" and "%/%" at least when the RHS is non-zero a scalar.Challenge: nice implementation (``common non-0''; but Tsparse* is not uniq).---- Create a Harwell-Boeing version of the matrix mm and the responsevector y in inst/external and remove them from the data directory.Modify any examples that use them and modify the Comparisons vignette.- "Math2" , "Math", "Arith":keep triangular and symmetric Matrices when appropriate:particularly desirable for "Math2": round(), signif()- "d" <-> "l" coercion for all "[TCR]" sparse matrices is really trivial:"d" -> "l" : drops the 'x' slot"l" -> "d" : construct an 'x' slot of all '1'We currently have many of these conversions explicitly, e.g.setAs("dsTMatrix", "lsTMatrix",function(from) new("lsTMatrix", i = from@i, j = from@j, uplo = from@uplo,Dim = from@Dim, Dimnames = from@Dimnames))but I would rather want to automatically construct all these coercionmethods at once by a ``method constructor'', i.e.,for all "dsparse*" -> "lsparse*" and vice versa.How can one do this {in a documented way} ?