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 510, Fri Feb 4 23:36:17 2005 UTC revision 918, Thu Sep 15 18:08:59 2005 UTC
# Line 1  Line 1 
1    - Sparse matrix methods can now be based on the CHOLMOD package.  We
2       will need to migrate from the current code to CHOLMOD-based code
3       using #ifdef USE_CHOLMOD.  Some of the things to be done
4    
5       - Move documentation from subdirectories of src to inst/doc
6       - Write utilities to create a cholmod_sparse pointer from a
7       dgCMatrix or lgCMatrix (or zgCMatrix) object without copying and
8       allocating.
9       - Start adding simple S4 methods (rcond, %*%, +, cbind, t).
10    
11  - Report the problem in the Linux ldexp manual page.  The second and  - Report the problem in the Linux ldexp manual page.  The second and
12    third calls in the Synopsis should be to ldexpf and ldexpl.    third calls in the Synopsis should be to ldexpf and ldexpl.
13    
14  - [,] indexing  - [,] indexing: for sparse "works", but not yet for negative indices!
15    
16  - group generics: "Arith", but also "Ops" and "Math";  see  - group generics: "Arith" (partly done),
17    ?Math.data.frame  and the examples in    but also "Compare", "Math" etc;
18    ?SetGeneric    see ?Math  and the examples in ?SetGeneric
19    
20    - methods for rbind and cbind where they make sense
21      (Kurt is particularly interested in dgCMatrix ones, for pkg 'arules')
22      ****> UNFEASIBLE as long cbind is function(..., *) !!!! <*******
23        --> follow John's proposition  cbind(x, ...) via Generic cbind2(x,y)?
24    
25  - check to see if the .onLoad function to require the methods package  - consider moving alloc3Darray from ./src/Mutils.c to
26    (in the AllClass.R file) is needed    $(RSRC)/src/base/array.c
27    
28  - Should the uplo and diag slots continue to be stored as character?  - data/ : names 'mm' and even more 'y' are  ``too short''.
29    An alternative is to use a factor as in the enum values for the          If we really want to keep them, don't use "LazyData"
30    cblas.          (such that one needs  data(*) explicitly);
31            But MM would rather want something like  ex.mm and ex.y
32    
33  - Organization of the source code files - right now they are organized  -  slot "factors" maybe should move up to "Matrix"
   according to class (e.g. dgeMatrix.R, dgeMatrix.h, dgeMatrix.c).  Is  
   there a better way?  
34    
35  - Fix the calculation of the Dim slot for the crossprod method for  -------
   dgCMatrix objects (too tired to do that now).  
36    
37  - bCrosstab(): do we really want the diagonal "V:V" crosstabs?  We have a (at least one) basic problem :
38       Currently the show() method fail sometime after coercion:
39       e.g. 'sy' show()s wrongly, even though it "str()" fine :
40    
41  - src/Metis/ : some Makefile needs fixing, as changing src/Metis/*.c        (po <- crossprod(Matrix(0:3, 2))) # ok
42               does not lead to recompilation.        (ge <- as(po, "dgeMatrix")) # ok
43          (sy <- as(po, "dsyMatrix")) # BAD
44          str(sy) # looks fine
45    
46  - man/Matrix.Rd :  has example with dimnames, but we just drop them!    or
47                  MM thinks dimnames should be supported (but then ...)        example(expand) # -> ex$L and ex$U look bad, however
48          as(ex$L, "dgeMatrix") # `works'
49    
50  - data/ : names 'mm' and even more 'y' are  ``too short''.    {Of course, we don't need a workaround but must understand
51          If we really want to keep them, don't use "LazyData"     and solve the problem}
52          (such that one needs  data(*) explicitly);  
53          But MM would rather want something like  ex.mm and ex.y  ---
54    
55    - provide methods for "dspMatrix" and "dppMatrix"!
56    
57    - implement (more) methods for supporting "packed" (symmetric / triangular)
58      matrices; particularly something like pack() and unpack()  [to/from our
59      classes from/to "numeric"] --- have already man/unpack.Rd but no method yet!
60    
61      (have some dtr* <-> dtp*)
62    
63    - implement diagonal Matrix class  "ddiMatrix" etc
64      using constructor function Diagonal() or Diag().
65    
66    BUG: rcond() of a singular dpoMatrix gives a LaPack error instead of just 0:
67      MM <- crossprod(M <- Matrix(c(1:4,9:6), 2,4)) ; rcond(MM)
68      ##> Error in rcond(MM) : Lapack routine dpotrf returned error code 4
69    
70    
71    ---
72    
73    - combine the C functions for multiplication by special forms and
74      solution wrt special forms by using a 'right' argument and a
75      'classed' argument.
76       [done with dgeMatrix_matrix_mm();  not yet for other classes;
77        and for _crossprod()]
78    
79    - add more comprehensive examples / tests for Schur decomposition
80    
81    - arithmetic for sparse matrices:
82                 <sparseMatrix>  o  { <scalar> | <same-dim-sparseMatrix> }
83      should return a sparse matrix  for at least "+" and "*" , also %%,
84      and "/" and "%/%" at least when the RHS is non-zero a scalar.
85    
86    ---
87    
88    - Create a Harwell-Boeing version of the matrix mm and the response
89      vector y in inst/external and remove them from the data directory.
90      Modify any examples that use them and modify the Comparisons vignette.

Legend:
Removed from v.510  
changed lines
  Added in v.918

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