SCM

SCM Repository

[matrix] View of /pkg/TODO
ViewVC logotype

View of /pkg/TODO

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1226 - (download) (annotate)
Mon Mar 13 14:07:58 2006 UTC (13 years, 6 months ago) by maechler
File size: 3209 byte(s)
sparse: "[<-" and better arithmetic; other tweaks
------
- Sparse matrix methods can now be based on the CHOLMOD package.  We
   will need to migrate from the current code to CHOLMOD-based code
   using #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 a
   dgCMatrix or lgCMatrix (or zgCMatrix) object without copying and
   allocating.
   - Start adding simple S4 methods (rcond, %*%, +, cbind, t).

- Report the problem in the Linux ldexp manual page.  The second and
  third 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 our
  classes from/to "numeric"] --- have already man/unpack.Rd but no method yet!

  (have some dtr* <-> dtp*)

---

- combine the C functions for multiplication by special forms and
  solution 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 response
  vector 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 coercion
  methods at once by a ``method constructor'', i.e.,
  for all  "dsparse*" -> "lsparse*" and vice versa.
  How can one do this {in a documented way} ?

- tcrossprod(x, y) : do provide methods for y != NULL
  calling Lapack's DGEMM for "dense"
  [2005-12-xx: done for dgeMatrix at least]

- "ltTmatrix" :
  2) new("ltTMatrix", diag = "U", Dim = c(2:2, 2:2)) shows lack of ltTM*_validate

- BUGlet:  Shouldn't lose factorization here:
  h6 <- Hilbert(6); chol(h6) ; str(h6) # has factor
  str(H6 <- as(h6, "dspMatrix"))       # has lost factor
  ## and the same in a similar situation involving  "dpo", "dpp"

- "Compare" for dgC & dgT  --- want to be able to do  M[M > 10]  etc

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