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 1233, Tue Mar 21 11:23:49 2006 UTC
# Line 1  Line 1 
1    -----
2    - Revive the "lmer" and "glmer" classes.  Slots like "family" should
3      be in "glmer" only.  Many methods for "lmer" can be simplified as,
4      for example, they will always use the scale factor.
5    
6    - Add a "pedigree" class and methods for it.  Allow a pedigree
7      argument in lmer.
8    
9    ------
10    - Sparse matrix methods can now be based on the CHOLMOD package.  We
11       will need to migrate from the current code to CHOLMOD-based code
12       using #ifdef USE_CHOLMOD.  Some of the things to be done
13    
14       - Move documentation from subdirectories of src to inst/doc
15       - Write utilities to create a cholmod_sparse pointer from a
16       dgCMatrix or lgCMatrix (or zgCMatrix) object without copying and
17       allocating.
18       - Start adding simple S4 methods (rcond, %*%, +, cbind, t).
19    
20  - Report the problem in the Linux ldexp manual page.  The second and  - Report the problem in the Linux ldexp manual page.  The second and
21    third calls in the Synopsis should be to ldexpf and ldexpl.    third calls in the Synopsis should be to ldexpf and ldexpl.
22    
23  - [,] indexing  - [,] indexing: for sparse "works", but not yet for negative indices!
24    
25    - consider moving alloc3Darray from ./src/Mutils.c to
26      $(RSRC)/src/base/array.c
27    
28    -------
29    
30    - provide methods for "dspMatrix" and "dppMatrix"!
31    
32    - implement (more) methods for supporting "packed" (symmetric / triangular)
33      matrices; particularly something like pack() and unpack()  [to/from our
34      classes from/to "numeric"] --- have already man/unpack.Rd but no method yet!
35    
36      (have some dtr* <-> dtp*)
37    
38    ---
39    
40    - combine the C functions for multiplication by special forms and
41      solution wrt special forms by using a 'right' argument and a
42      'classed' argument.
43       [done with dgeMatrix_matrix_mm();  not yet for other classes;
44        and for _crossprod()]
45    
46  - group generics: "Arith", but also "Ops" and "Math";  see  - add more comprehensive examples / tests for Schur decomposition
   ?Math.data.frame  and the examples in  
   ?SetGeneric  
47    
48  - check to see if the .onLoad function to require the methods package  - arithmetic for sparse matrices:
49    (in the AllClass.R file) is needed               <sparseMatrix>  o  <same-dim-sparseMatrix>
50      should return a sparse matrix  for at least "+" and "*" , also %%,
51      and "/" and "%/%" at least when the RHS is non-zero a scalar.
52      Challenge: nice implementation (``common non-0''; but Tsparse* is not uniq).
53    
54  - Should the uplo and diag slots continue to be stored as character?  ---
   An alternative is to use a factor as in the enum values for the  
   cblas.  
55    
56  - Organization of the source code files - right now they are organized  - "Math2" , "Math", "Arith":
57    according to class (e.g. dgeMatrix.R, dgeMatrix.h, dgeMatrix.c).  Is     keep triangular and symmetric Matrices when appropriate:
58    there a better way?     particularly desirable for  "Math2": round(), signif()
59    
60  - Fix the calculation of the Dim slot for the crossprod method for  - "d" <-> "l" coercion for all "[TCR]" sparse matrices is really trivial:
61    dgCMatrix objects (too tired to do that now).    "d" -> "l" : drops the 'x' slot
62      "l" -> "d" : construct an 'x' slot of all '1'
63      We currently have many of these conversions explicitly, e.g.
64       setAs("dsTMatrix", "lsTMatrix",
65          function(from) new("lsTMatrix", i = from@i, j = from@j, uplo = from@uplo,
66                             Dim = from@Dim, Dimnames = from@Dimnames))
67      but I would rather want to automatically construct all these coercion
68      methods at once by a ``method constructor'', i.e.,
69      for all  "dsparse*" -> "lsparse*" and vice versa.
70      How can one do this {in a documented way} ?
71    
72  - bCrosstab(): do we really want the diagonal "V:V" crosstabs?  - tcrossprod(x, y) : do provide methods for y != NULL
73      calling Lapack's DGEMM for "dense"
74      [2005-12-xx: done for dgeMatrix at least]
75    
76  - src/Metis/ : some Makefile needs fixing, as changing src/Metis/*.c  - "ltTmatrix" :
77               does not lead to recompilation.    2) new("ltTMatrix", diag = "U", Dim = c(2:2, 2:2)) shows lack of ltTM*_validate
78    
79  - man/Matrix.Rd :  has example with dimnames, but we just drop them!  - BUGlet:  Shouldn't lose factorization here:
80                  MM thinks dimnames should be supported (but then ...)    h6 <- Hilbert(6); chol(h6) ; str(h6) # has factor
81      str(H6 <- as(h6, "dspMatrix"))       # has lost factor
82      ## and the same in a similar situation involving  "dpo", "dpp"
83    
84  - data/ : names 'mm' and even more 'y' are  ``too short''.  - "Compare" for dgC & dgT  --- want to be able to do  M[M > 10]  etc
         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  

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

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