https://github.com/cran/Matrix
Raw File
Tip revision: 88232618987bd241ef9d0059a493a74106c64e69 authored by Douglas Bates on 09 September 2005, 00:00:00 UTC
version 0.98-7
Tip revision: 8823261
TODO
- 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!

- group generics: "Arith" (partly done),
  but also "Compare", "Math" etc;
  see ?Math  and the examples in ?SetGeneric

- methods for rbind and cbind where they make sense
  (Kurt is particularly interested in dgCMatrix ones, for pkg 'arules')
  ****> UNFEASIBLE as long cbind is function(..., *) !!!! <*******
    --> follow John's proposition  cbind(x, ...) via Generic cbind2(x,y)?

- consider moving alloc3Darray from ./src/Mutils.c to
  $(RSRC)/src/base/array.c

- data/ : names 'mm' and even more 'y' are  ``too short''.
	If we really want to keep them, don't use "LazyData"
	(such that one needs  data(*) explicitly);
	But MM would rather want something like  ex.mm and ex.y

-  slot "factors" maybe should move up to "Matrix"

-------

We have a (at least one) basic problem :
   Currently the show() method fail sometime after coercion:
   e.g. 'sy' show()s wrongly, even though it "str()" fine :

      (po <- crossprod(Matrix(0:3, 2))) # ok
      (ge <- as(po, "dgeMatrix")) # ok
      (sy <- as(po, "dsyMatrix")) # BAD
      str(sy) # looks fine

  or
      example(expand) # -> ex$L and ex$U look bad, however
      as(ex$L, "dgeMatrix") # `works'

  {Of course, we don't need a workaround but must understand
   and solve the problem}

---

- 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*)

- implement diagonal Matrix class  "ddiMatrix" etc
  using constructor function Diagonal() or Diag().

BUG: 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 4


---

- 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  { <scalar> | <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.

---

- 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.
back to top