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 712, Fri May 6 22:20:59 2005 UTC revision 935, Tue Sep 20 10:14:57 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" (partly done),  - group generics: "Arith" (partly done),
17    but also "Compare", "Math" etc;    but also "Compare", "Math" etc;
18    see ?Math  and the examples in ?SetGeneric    see ?Math  and the examples in ?SetGeneric
19    
20  - methods for rbind and cbind where they make sense  - 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  - consider moving alloc3Darray from ./src/Mutils.c to  - consider moving alloc3Darray from ./src/Mutils.c to
26    $(RSRC)/src/base/array.c    $(RSRC)/src/base/array.c
27    
 - 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  
   
28  -  slot "factors" maybe should move up to "Matrix"  -  slot "factors" maybe should move up to "Matrix"
29    
30  -------  -------
31    
 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}  
   
 ---  
   
32  - provide methods for "dspMatrix" and "dppMatrix"!  - provide methods for "dspMatrix" and "dppMatrix"!
33    
34  - implement (more) methods for supporting "packed" (symmetric / triangular)  - implement (more) methods for supporting "packed" (symmetric / triangular)
35    matrices; particularly something like pack() and unpack()  [to/from our    matrices; particularly something like pack() and unpack()  [to/from our
36    classes from/to "numeric"] --- have already man/unpack.Rd but no method yet!    classes from/to "numeric"] --- have already man/unpack.Rd but no method yet!
37    
38      (have some dtr* <-> dtp*)
39    
40  - implement diagonal Matrix class  "ddiMatrix" etc  - implement diagonal Matrix class  "ddiMatrix" etc
41    using constructor function Diagonal() or Diag().    using constructor function Diagonal() or Diag().
42    
43    BUG: rcond() of a singular dpoMatrix gives a LaPack error instead of just 0:
44      MM <- crossprod(M <- Matrix(c(1:4,9:6), 2,4)) ; rcond(MM)
45      ##> Error in rcond(MM) : Lapack routine dpotrf returned error code 4
46    
47    
48  ---  ---
49    
50  - combine the C functions for multiplication by special forms and  - combine the C functions for multiplication by special forms and
# Line 59  Line 56 
56  - add more comprehensive examples / tests for Schur decomposition  - add more comprehensive examples / tests for Schur decomposition
57    
58  - arithmetic for sparse matrices:  - arithmetic for sparse matrices:
59               <sparseMatrix>  o  { <scalar> | <same-dim-sparseMatrix> }               <sparseMatrix>  o  <same-dim-sparseMatrix>
60    should return a sparse matrix  for at least "+" and "*" , also %%,    should return a sparse matrix  for at least "+" and "*" , also %%,
61    and "/" and "%/%" at least when the RHS is non-zero a scalar.    and "/" and "%/%" at least when the RHS is non-zero a scalar.
62      Challenge: nice implementation (``common non-0''; but Tsparse* is not uniq).
63    
64  ---  ---
65    
66  - in lmer.c check all instances of the use of ZtX and XtX and change  - Create a Harwell-Boeing version of the matrix mm and the response
67    them so that having a negative last element of nc means use the    vector y in inst/external and remove them from the data directory.
68    response only (but look for it in the right place).    Modify any examples that use them and modify the Comparisons vignette.
69    
70    - "Math2" , "Math", "Arith":
71       keep triangular and symmetric Matrices when appropriate:
72       particularly desirable for  "Math2": round(), signif()

Legend:
Removed from v.712  
changed lines
  Added in v.935

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