SCM

SCM Repository

[matrix] Annotation of /pkg/TODO
ViewVC logotype

Annotation of /pkg/TODO

Parent Directory Parent Directory | Revision Log Revision Log


Revision 976 - (view) (download)

1 : bates 918 - 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 : bates 344 - Report the problem in the Linux ldexp manual page. The second and
12 :     third calls in the Synopsis should be to ldexpf and ldexpl.
13 : maechler 472
14 : maechler 868 - [,] indexing: for sparse "works", but not yet for negative indices!
15 : maechler 472
16 : bates 536 - consider moving alloc3Darray from ./src/Mutils.c to
17 : maechler 538 $(RSRC)/src/base/array.c
18 : bates 536
19 : maechler 517 -------
20 :    
21 : maechler 634 - provide methods for "dspMatrix" and "dppMatrix"!
22 :    
23 : maechler 538 - implement (more) methods for supporting "packed" (symmetric / triangular)
24 : maechler 634 matrices; particularly something like pack() and unpack() [to/from our
25 :     classes from/to "numeric"] --- have already man/unpack.Rd but no method yet!
26 : maechler 538
27 : maechler 834 (have some dtr* <-> dtp*)
28 :    
29 : maechler 538 - implement diagonal Matrix class "ddiMatrix" etc
30 :     using constructor function Diagonal() or Diag().
31 : bates 645
32 : maechler 976 - rcond() of a singular dpoMatrix gives a LaPack error instead of just 0:
33 : maechler 834 MM <- crossprod(M <- Matrix(c(1:4,9:6), 2,4)) ; rcond(MM)
34 :     ##> Error in rcond(MM) : Lapack routine dpotrf returned error code 4
35 : maechler 976 It's .Call("dpoMatrix_rcond") --> set_rcond() in src/dpoMatrix.c
36 :     and in src/dppMatrix.c similarly.
37 : maechler 834
38 : maechler 976 Done(2005-10-03): The error message is more helpful now.
39 : maechler 834
40 : bates 645 ---
41 :    
42 :     - combine the C functions for multiplication by special forms and
43 :     solution wrt special forms by using a 'right' argument and a
44 :     'classed' argument.
45 : maechler 675 [done with dgeMatrix_matrix_mm(); not yet for other classes;
46 :     and for _crossprod()]
47 :    
48 :     - add more comprehensive examples / tests for Schur decomposition
49 : maechler 696
50 :     - arithmetic for sparse matrices:
51 : maechler 935 <sparseMatrix> o <same-dim-sparseMatrix>
52 : maechler 696 should return a sparse matrix for at least "+" and "*" , also %%,
53 :     and "/" and "%/%" at least when the RHS is non-zero a scalar.
54 : maechler 935 Challenge: nice implementation (``common non-0''; but Tsparse* is not uniq).
55 : maechler 696
56 : bates 712 ---
57 :    
58 : bates 881 - Create a Harwell-Boeing version of the matrix mm and the response
59 :     vector y in inst/external and remove them from the data directory.
60 :     Modify any examples that use them and modify the Comparisons vignette.
61 : maechler 935
62 :     - "Math2" , "Math", "Arith":
63 :     keep triangular and symmetric Matrices when appropriate:
64 :     particularly desirable for "Math2": round(), signif()
65 : maechler 956
66 :     - "d" <-> "l" coercion for all "[TCR]" sparse matrices is really trivial:
67 :     "d" -> "l" : drops the 'x' slot
68 :     "l" -> "d" : construct an 'x' slot of all '1'
69 :     We currently have many of these conversions explicitly, e.g.
70 :     setAs("dsTMatrix", "lsTMatrix",
71 :     function(from) new("lsTMatrix", i = from@i, j = from@j, uplo = from@uplo,
72 :     Dim = from@Dim, Dimnames = from@Dimnames))
73 :     but I would rather want to automatically construct all these coercion
74 :     methods at once by a ``method constructor'', i.e.,
75 :     for all "dsparse*" -> "lsparse*" and vice versa.
76 :     How can one do this {in a documented way} ?

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