SCM

SCM Repository

[matrix] Diff of /pkg/ChangeLog
ViewVC logotype

Diff of /pkg/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1298, Sat Jun 10 19:56:18 2006 UTC revision 2043, Sat Aug 11 03:18:26 2007 UTC
# Line 1  Line 1 
1    2007-08-10  Martin Maechler  <maechler@stat.math.ethz.ch>
2    
3            * man/image-methods.Rd: new, combining all image() methods
4    
5    2007-08-09  Martin Maechler  <maechler@stat.math.ethz.ch>
6    
7            * R/dgCMatrix.R: define qr() and lu() methods for "sparseMatrix"
8            to work via dgC...
9    
10            * R/Matrix.R (Matrix): special treatment for "table" (S3)
11    
12    2007-08-07  Martin Maechler  <maechler@stat.math.ethz.ch>
13    
14            * R/dgTMatrix.R (image): change defaults to
15                    aspect = "iso", colorkey = FALSE
16    
17    2007-08-06  Martin Maechler  <maechler@stat.math.ethz.ch>
18    
19            * src/dsyMatrix.c (dsyMatrix_matrix_mm): 'b' might be matrix;
20            must copy its *expanded* x slot before LAPACK call.
21    
22            * tests/matprod.R: test the last days' changes.
23    
24    2007-08-06 16:43  Douglas Bates <bates@stat.wisc.edu>
25    
26            * [r4712] inst/include/Matrix_stubs.c: Change R_cholmod_printf in stubs
27              as well as in sources
28    
29    2007-08-03  Martin Maechler  <maechler@stat.math.ethz.ch>
30    
31            * R/Matrix.R (%*%, crossprod, tcrossprod): add method for
32                    ("Matrix", "matrix") which is needed in some cases.
33            Ditto for solve().
34    
35            * R/colSums.R (.as.dge.Fun): need ddenseMatrix methods to avoid
36            infinite recursion in dispatch for some cases.
37    
38    2007-08-02 08:48  Martin Maechler <maechler@stat.math.ethz.ch>
39    
40            * [r4693] src/chm_common.c: R_cholmod_printf() instead of Rprintf() just
41              so pointers match
42    
43    2007-08-02  Martin Maechler  <maechler@stat.math.ethz.ch>
44    
45            * DESCRIPTION (Date): set ready for release -- 0.999375-1
46    
47    2007-08-01 15:44  Douglas Bates <bates@stat.wisc.edu>
48    
49            * [r4686] inst/include/Matrix.h, inst/include/Matrix_stubs.c,
50              src/chm_common.c, src/chm_common.h: Change API for
51              numeric_as_chm_dense and N_AS_CHM_DN
52    
53    2007-08-01  Martin Maechler  <maechler@stat.math.ethz.ch>
54    
55            * src/dtrMatrix.c (dtrMatrix_matrix_mm): fix dimensionality check (!)
56            * tests/matprod.R: regr.test for it
57    
58    2007-07-20  Martin Maechler  <maechler@stat.math.ethz.ch>
59    
60            * R/dMatrix.R: fix from Brian for   Math2(., digits = "missing")
61            * tests/group-methods.R: and regression-test it
62    
63    2007-07-19 19:45  Douglas Bates <bates@stat.wisc.edu>
64    
65            * [r4642] inst/include/Matrix.h, inst/include/Matrix_stubs.c,
66              inst/include/cholmod.h, src/chm_common.c, src/init.c: Export
67              triplet_to_sparse, documentation, use typedefs
68    
69    2007-07-18  Martin Maechler  <maechler@stat.math.ethz.ch>
70    
71            * man/dpoMatrix-class.Rd: added 'corMatrix' example
72    
73            * src/dsyMatrix.[ch] (dsyMatrix_as_matrix): new 'keep_dimnames' arg
74            * src/dtrMatrix.[ch] (dtrMatrix_as_matrix): ditto
75            * src/init.c, R/dsyMatrix.R, R/dtrMatrix.R, R/lgTMatrix.R: ditto
76    
77            * R/lsparseMatrix.R: bug fix in "all" method
78            * R/Ops.R (.do.Logic.lsparse): "|" bug in borderline case
79    
80            * R/dsyMatrix.R (coerce->dsTMatrix): (i,j) slots should *not* have names
81            * R/ngTMatrix.R (coerce->ngTMatrix): ditto;
82                    + matrix |-> nMatrix coercion
83            * R/pMatrix.R: + setAs()  to dMatrix and from nMatrix
84            * man/pMatrix-class.Rd: ditto
85    
86            * R/Matrix.R (Summary): method for non-dMatrix
87    
88            * tests/Class+Meth.R (extraValid): new check about "dirty" slots
89            * tests/Class+Meth.R (tstMatrixClass): test norm(.);
90                    test all Summary methods.
91    
92    2007-07-16  Martin Maechler  <maechler@stat.math.ethz.ch>
93    
94            * R/dgeMatrix.R (norm, rcond): methods for 'matrix'
95    
96    2007-07-14  Martin Maechler  <maechler@stat.math.ethz.ch>
97    
98            * R/sparseMatrix.R (norm): simple methods for sparseMatrix
99    
100            * R/pMatrix.R (t?crossprod): methods for pMatrix
101    
102    2007-07-10  Douglas Bates  <bates@stat.wisc.edu>
103    
104            * src/dgeMatrix.c (dgeMatrix_colsums): Get the logic straight.
105    
106    2007-07-09 20:45  Douglas Bates <bates@stat.wisc.edu>
107    
108            * [r4579] src/dgeMatrix.c: Untangle horrible code in dgeMatrix_colsums
109              trying to fix a subtle bug - which has been somewhere else.
110    
111    2007-07-09 19:43  Martin Maechler <maechler@stat.math.ethz.ch>
112    
113            * [r4578] src/dgeMatrix.c: "cleaned" dgeMatrix_colsums() - but did not
114              solve the bug
115    
116    2007-07-08  Martin Maechler  <maechler@stat.math.ethz.ch>
117    
118            * src/dgCMatrix.c (compressed_to_TMatrix):
119    
120    2007-07-07  Martin Maechler  <maechler@stat.math.ethz.ch>
121    
122            * src/Csparse.c (Rsparse_validate): new, to have some validity
123            checking for RsparseMatrix
124            * src/dgCMatrix.c (xRMatrix_validate): ditto
125            * src/dtCMatrix.c (tRMatrix_validate): ditto
126    
127    2007-07-07  Douglas Bates <bates@stat.wisc.edu>
128    
129            * [r4567] R/AllClass.R: Slots already in RsparseMatrix were redefined in
130              lgRMatrix
131            * [r4568] DESCRIPTION: Prepare for bug-fix release
132            * [r4570] src/CHOLMOD/Check/cholmod_write.c: Include cholmod_matrixops.h
133              for declaration of cholmod_symmetry
134    
135    2007-07-06  Martin Maechler  <maechler@stat.math.ethz.ch>
136    
137            * DESCRIPTION (Version): 0.999375 merged into the trunk; ready for
138            release.
139    
140    2007-07-06 14:11  Douglas Bates <bates@stat.wisc.edu>
141    
142            * [r4559] src/iohb.c, src/iohb.h: Remove Harwell-Boeing input/output
143              functions - no longer used
144            * [r4560] src/HBMM.c, src/Mutils.c, src/dgTMatrix.c, src/dgeMatrix.c,
145              src/dspMatrix.c, src/dsyMatrix.c, src/dtCMatrix.c,
146              src/factorizations.c, src/sparseQR.c: Replace most calls to Calloc by
147              Alloca
148    
149    2007-07-06 13:14  Martin Maechler <maechler@stat.math.ethz.ch>
150    
151            * [r4558] inst/doc/Comparisons.Rnw, src/CHMfactor.c, src/Csparse.c,
152              src/Tsparse.c, src/chm_common.c, src/chm_common.h, src/dense.c,
153              src/dgCMatrix.c, src/dsCMatrix.c, src/dtTMatrix.c, src/sparseQR.c,
154              src/t_gCMatrix_colSums.c: more R_CheckStack()s
155    
156    2007-07-05 18:12  Douglas Bates <bates@stat.wisc.edu>
157    
158            * [r4550] inst/include/Matrix.h: Add the macro N_AS_CHM_DN to "alloca"
159              the required amount of memory then call M_numeric_as_chm_dense.
160            * [r4556] src/Mutils.h, src/dgCMatrix.c: Define and use the Alloca macro
161              (like Calloc but calling alloca)
162    
163    2007-07-05  Martin Maechler  <maechler@stat.math.ethz.ch>
164    
165            * R/sparseMatrix.R (printSpMatrix): renamed from prSpMatrix()
166            and extended with more sophisticated 'col.names' option.
167            * NAMESPACE: export  printSparseMatrix()
168            * man/printSpMatrix.Rd: document, incl. examples
169    
170    2007-07-04 16:21  Douglas Bates <bates@stat.wisc.edu>
171    
172            * [r4543] src/cs_utils.c, src/cs_utils.h, src/dgCMatrix.c,
173              src/dtCMatrix.c, src/sparseQR.c: CSP typedef for *cs and macro
174              AS_CSP. API change - pass the empty structure to Matrix_as_cs.
175    
176    2007-07-04  Martin Maechler  <maechler@stat.math.ethz.ch>
177    
178            * DESCRIPTION (Version): 0.99875-4
179    
180            * tests/Class+Meth.R (tstMatrixClass): add dimnames, and hence test
181            some dimnames perservation.
182    
183            * R/dsTMatrix.R (t-method): keep dimnames
184            * R/dtTMatrix.R:  ditto
185    
186            * R/sparseMatrix.R (prSpMatrix): print colnames when non-trivial
187            and ncol(.) < 10
188    
189            * src/cs_utils.c: drop check_class() and use Matrix_check_class()
190            from Mutils.h
191    
192            * src/lgCMatrix.c ([ln]csc_to_matrix): no longer lose dimnames,
193            e.g. in as(<ngCMatrix>, "matrix")
194    
195    2007-07-01 13:27  Douglas Bates <bates@stat.wisc.edu>
196    
197            * [r4529] .: Create a branch for the API changes from the 0.99875
198              series to the 0.999375 series
199            * [r4530] DESCRIPTION, inst/include/Matrix.h,
200              inst/include/Matrix_stubs.c, src/CHMfactor.c, src/Csparse.c,
201              src/Mutils.h, src/Tsparse.c, src/chm_common.c, src/chm_common.h,
202              src/dense.c, src/dgCMatrix.c, src/dsCMatrix.c, src/dtTMatrix.c,
203              src/t_gCMatrix_colSums.c: API change - pass the empty structure to the
204              as_cholmod_x functions
205    
206    2007-06-30 09:05  Martin Maechler <maechler@stat.math.ethz.ch>
207    
208            * [r4527] trunk/Matrix/DESCRIPTION, trunk/Matrix/NAMESPACE,
209              trunk/Matrix/inst/doc/Comparisons.Rnw: add session- and hardware-info
210              to Comparisons
211    
212    >>>>>>> .merge-right.r4561
213    2007-06-29  Martin Maechler  <maechler@stat.math.ethz.ch>
214    
215            * DESCRIPTION (Version): 0.99875-3 ready to be released.
216    
217            * R/sparseMatrix.R (spMatrix): make spMatrix(3,4) working
218    
219            * R/AllGeneric.R: set "Math" (and "Math2") group generics in a way
220            that should also work in a future version of R.
221    
222    2007-06-21  Martin Maechler  <maechler@stat.math.ethz.ch>
223    
224            * NAMESPACE, R/AllClass.R: "xsparseVector" class union.
225    
226            * R/sparseVector.R: more *sparseVector coercions, notably for
227            non - double ones.
228    
229    2007-06-19  Martin Maechler  <maechler@stat.math.ethz.ch>
230    
231            * R/colSums.R: new file for all (col|row)(Sums|Means) methods,
232              notably the new ones building on the new .Call(.)s:
233    
234            * src/dgCMatrix.c (DEF_gCMatrix_COLSUMS): use to define
235            all 4 of [dlin]gCMatrix_colSums().
236    
237    2007-06-18 16:12  Douglas Bates <bates@stat.wisc.edu>
238    
239            * [r4472] src/Syms.h, src/init.c: Added Matrix_lengthSym
240            * [r4473] src/dgCMatrix.c: Modified dgCMatrix_colSums for sparseVector
241              result
242    
243    2007-06-16  Martin Maechler  <maechler@stat.math.ethz.ch>
244    
245            * R/kronecker.R: fix typo (could lead to inf.recursion)
246            * test/simple.R: testing that
247    
248            * R/sparseMatrix.R (prSpMatrix): change to be used as print()
249            method as well (which can have arguments, show() can't).
250    
251    2007-06-16 15:52  Douglas Bates <bates@stat.wisc.edu>
252    
253            * [r4466] R/dgCMatrix.R, src/dgCMatrix.c, src/dgCMatrix.h, src/init.c:
254              added dgCMatrix_colSums for [col,row][Sums,Means]
255    
256    2007-06-15 23:15  Douglas Bates <bates@stat.wisc.edu>
257    
258            * [r4460] R/sparseMatrix.R, man/dgCMatrix-class.Rd, src/dgCMatrix.c,
259              src/dgCMatrix.h, src/init.c: added lm.fit.sparse (unexported),
260              coercion of "factor" to "dgCMatrix" and dgCMatrix_cholsol
261            * [r4461] R/AllClass.R, man/sparseMatrix-class.Rd: draft "indicators"
262              class
263            * [r4463] R/sparseMatrix.R, man/dgCMatrix-class.Rd,
264              man/sparseMatrix-class.Rd: Don't need an "indicators" class - use the
265              row names to store the levels - duh!  Added an example.
266    
267    2007-06-14  Martin Maechler  <maechler@stat.math.ethz.ch>
268    
269            * src/Csparse.c (Csparse_validate): check for *repeated* entries
270            thanks to example from Christian Buchta; with a test here:
271            * tests/simple.R:
272    
273    2007-06-07  Martin Maechler  <maechler@stat.math.ethz.ch>
274    
275            * R/Auxiliaries.R (callGeneric): another fix, needed for some cases
276            of colSums(*, sparseResult = TRUE)
277    
278    2007-06-06  Martin Maechler  <maechler@stat.math.ethz.ch>
279    
280            * R/lsparseMatrix.R, R/ldenseMatrix.R (all, any): change default to
281            'na.rm = FALSE' as "everywhere" else in R.
282    
283    2007-06-05 Douglas Bates <bates@stat.wisc.edu>
284    
285            * [r4421] src/CSparse_install.sh: Modify for new organization of
286              CSparse package
287            * [r4425] src/UFsparse_download.sh: Update to version 3.0.0 of
288              SuiteSparse
289            * [r4426] src/Makefile: add ./UFconfig to the include path for
290              compilation
291            * [r4427] src/cs.[ch]: update to CSparse version 2.2.0
292            * [r4428] inst/doc/UFsparse/* src/{AMD,CHOLMOD,COLAMD}/*
293              src/UFconfig/UFconfig.h: Update to version 3.0.0 of SuiteSparse
294    
295    2007-06-05  Martin Maechler  <maechler@stat.math.ethz.ch>
296    
297            * R/Auxiliaries.R (emptyColnames): + argument msg.if.not.empty, used in
298            * R/sparseMatrix.R (prSpMatrix): now gives a message about
299            suppressed column names.
300    
301    2007-06-04 17:13  Douglas Bates <bates@stat.wisc.edu>
302    
303            * [r4418] src/Csparse.c, src/HBMM.c, src/Mutils.c, src/Mutils.h,
304              src/Tsparse.c, src/chm_common.c, src/chm_common.h, src/dgCMatrix.c,
305              src/dgeMatrix.c, src/dpoMatrix.c, src/dpoMatrix.h, src/dppMatrix.c,
306              src/dppMatrix.h, src/dsCMatrix.c, src/dspMatrix.c, src/dspMatrix.h,
307              src/dsyMatrix.c, src/dsyMatrix.h, src/dtpMatrix.c, src/dtrMatrix.c:
308              Remove warnings after change to const char* CHAR
309    
310    2007-06-04 17:11  Douglas Bates <bates@stat.wisc.edu>
311    
312            * [r4417] inst/include/Matrix_stubs.c, inst/include/cholmod.h: Corrected
313              type of M_cholmod_ssmult
314    
315    2007-06-03 14:42  Douglas Bates <bates@stat.wisc.edu>
316    
317            * [r4412] inst/include/Matrix_stubs.c, inst/include/cholmod.h,
318              src/init.c: Yet another cholmod export - cholmod_ssmult
319    
320    2007-05-23  Martin Maechler  <maechler@stat.math.ethz.ch>
321    
322            * NAMESPACE: exported drop0(), since
323            * man/drop0.Rd: I have seen several cases, I really wanted to use
324            it, so our users may want too.
325    
326    2007-05-22  Martin Maechler  <maechler@stat.math.ethz.ch>
327    
328            * man/colSums.Rd: separately document colSums() etc, since these
329            have the extra argument 'sparseResult'.
330    
331    2007-05-21  Martin Maechler  <maechler@stat.math.ethz.ch>
332    
333            * R/sparseMatrix.R (spMatrix): utility (T)sparse Matrix constructor;
334            * man/spMatrix.Rd: docu., including examples
335    
336            * R/Auxiliaries.R (sp.colMeans): etc, using a patched callGeneric(),
337            in order to make colMeans() etc fast *and* correct.
338            * R/sparseVector.R (replSPvec): "[<-" functionality for
339            sparseVectors; tested in
340            * tests/simple.R:
341    
342    2007-05-19  Martin Maechler  <maechler@stat.math.ethz.ch>
343    
344            * R/sparseMatrix.R (print.sparseSummary): and summary() method for
345            (very) sparse Matrices; output similar to Matlab's print().
346    
347    2007-05-17  Douglas Bates  <bates@stat.wisc.edu>
348    
349            * src/HBMM.c (Matrix_writeMatrixMarket): Write 1-based, not
350            0-based, indices (Jose Quesada <quesada@gmail.com>).
351    
352    2007-05-16  Douglas Bates  <bates@stat.wisc.edu>
353    
354            * R/CHMfactor.R: Added solve methods for a CHMfactor object.
355    
356    2007-05-16  Martin Maechler  <maechler@stat.math.ethz.ch>
357    
358            * R/Auxiliaries.R (sparsapply): new utility, much faster than
359            tapply1() for large sparse matrices.
360    
361    2007-05-15  Martin Maechler  <maechler@stat.math.ethz.ch>
362    
363            * R/Matrix.R (dim<-): reshape now via sparseVector.
364    
365            * R/sparseVector.R: methods and function for
366            * R/AllClass.R: new "sparseVector" class and daughters.
367            * NAMESPACE: export new classes
368    
369    2007-05-14  Martin Maechler  <maechler@stat.math.ethz.ch>
370    
371            * DESCRIPTION (Version): 0.99875-1
372            * src/Makefile.win: also remove Lapack code from here (cf. 04-25).
373    
374    2007-05-11  Martin Maechler  <maechler@stat.math.ethz.ch>
375    
376            * R/Tsparse.R ([, Tsparse): fix last case: *duplicated*, symmetric
377            indexing
378            * tests/indexing.R: test set for that.
379    
380    2007-05-08  Martin Maechler  <maechler@stat.math.ethz.ch>
381    
382            * R/Tsparse.R (replTmat): fix the case of *duplicated* index
383            entries.
384            * tests/indexing.R(out): add regression test for it
385    
386    2007-04-30  Martin Maechler  <maechler@stat.math.ethz.ch>
387    
388            * R/(l(dense|sparse))?Matrix.R (!): use 'x', not 'e1' as argument
389            name for "!" method definitions.
390    
391    2007-04-26  Martin Maechler  <maechler@stat.math.ethz.ch>
392    
393            * R/Tsparse.R (intI): new utility, used for "[" :
394                    Cleanup up there, and fixes for duplicated indices - more TODO!
395    
396            * tests/indexing.R(out): more tests
397    
398    2007-04-25  Douglas Bates  <bates@stat.wisc.edu>
399    
400            * DESCRIPTION,src/Makefile: require R>= 2.5.0 and remove Lapack
401            code that is now part of the R Lapack library.
402    
403            * src/init.c,inst/include/{Matrix_stubs.c,cholmod.h}:export
404            cholmod_factorize_p (used in lme4 for GLMMs and NLMMs).
405    
406    2007-04-21  Martin Maechler  <maechler@stat.math.ethz.ch>
407    
408            * R/Matrix.R (image): method for all Matrices, not just sparse ones.
409    
410    2007-04-17  Martin Maechler  <maechler@stat.math.ethz.ch>
411    
412            * R/Auxiliaries.R (tapply1): unname(.) -> colSums() etc don't end
413            up with extraneous names '0'...'<n-1>'
414    
415    2007-04-12  Martin Maechler  <maechler@stat.math.ethz.ch>
416    
417            * R/dgTMatrix.R (mat2dgT): care about NAs
418    
419    2007-04-11  Martin Maechler  <maechler@stat.math.ethz.ch>
420    
421            * R/kronecker.R: triangularity preserving methods
422    
423    2007-03-27  Martin Maechler  <maechler@stat.math.ethz.ch>
424    
425            * R/kronecker.R: new file collecting kronecker() methods in one
426                    place.  Goal: become much faster!
427    
428    2007-03-23  Martin Maechler  <maechler@stat.math.ethz.ch>
429    
430            * src/dtCMatrix.c (dtCMatrix_solve): use the new code from Kasper
431            Kristensen based cs_spsolve() instead of _lsolve & _usolve which
432            can be much faster.
433    
434            * tests/matprod.R: add regression tests for these (upper & lower).
435    
436    2007-03-19  Martin Maechler  <maechler@stat.math.ethz.ch>
437    
438            * R/Matrix.R (diff): method for our Matrices.
439    
440            * R/sparseMatrix.R (isDiagonal): check dim()!
441    
442    2007-03-17  Martin Maechler  <maechler@stat.math.ethz.ch>
443    
444            * R/Matrix.R (dim<-): new method for "reshape()" built on a
445            proposal from Tamas Papp.
446    
447    2007-03-16  Martin Maechler  <maechler@stat.math.ethz.ch>
448    
449            * R/AllGeneric.R: remove all  if(!isGeneric(.))  clauses
450    
451            * R/zzz.R (.onLoad, .onUnload): do *not* leave bind_activation(TRUE);
452            rather define and export  cBind() and rBind() only.
453            --> useRs *must* change code that used to have cbind()/rbind() !!
454    
455            * R/bind.R: change tests from cbind() to cBind() and similarly to rBind()
456            * R/bind.Rout.save: ditto
457    
458    2007-02-16  Douglas Bates  <bates@r-project.org>
459    
460            * DESCRIPTION (Date, Version): 0.9975-11 with new date
461            * src/dgCMatrix.c (R_to_CMatrix, compressed_to_TMatrix): remove
462            const modifier on declaration of the array 'valid'
463    
464    2007-02-12  Douglas Bates  <bates@stat.wisc.edu>
465    
466            * R/CHMfactor.R: Add image method (coercion to sparseMatrix).
467    
468    2007-02-05  Martin Maechler  <maechler@stat.math.ethz.ch>
469    
470            * DESCRIPTION (Date, Version): 0.9975-10 with new date.
471    
472            * R/Ops.R (Arith): make sure Csparse o Csparse also works for e.g. ntCMatrix
473            * tests/simple.R: test the above and some of these coercions:
474    
475            * R/nsparseMatrix.R: coercing "Csparse" to "lsparseMatrix";
476                    be careful to avoid infinite recursion, using new coercions in
477            * R/ngCMatrix.R and nsC... and ntC...
478            * R/lsparseMatrix.R: ditto
479    
480            * R/SparseM-conv.R: more conversion, notably for triplet matrices.
481    
482            * src/dgCMatrix.c (R_to_C_Matrix): port Doug's fix and
483            * R/Rsparse.R: reactivate .Call()s
484    
485            * tests/Class+Meth.R: a bit more on actual classes
486    
487    2007-02-04  Douglas Bates  <bates@stat.wisc.edu>
488    
489            * src/dgCMatrix.c (compressed_to_TMatrix): fix memory bug using strdup()
490    
491    2007-02-03  Martin Maechler  <maechler@stat.math.ethz.ch>
492    
493            * DESCRIPTION (Version): 0.9975-10 to upload
494    
495            * tests/Class+Meth.R (tstMatrixClass): require coercions to
496            specific classes less unconditionally.
497    
498            * R/Auxiliaries.R: get rid of as_Tsparse() and as_Rsparse()
499    
500            * R/Tsparse.R (triu): etc, use as(*, "TsparseMatrix") instead of as_Tsparse()
501    
502            * R/Rsparse.R (.R.2.T): R-level workaround using compressed_to_TMatrix.
503            * R/Rsparse.R (.R.2.C): R-level workaround since C-level
504            R_to_CMatrix segfaults on one platform.
505            Eliminate most coercion method to *specific* classes, and replace
506            with virtual classes coercions.
507    
508    
509    2007-02-01  Martin Maechler <maechler@stat.math.ethz.ch>
510    
511            * src/init.c: export the CHM...._validate() placeholders, since
512            they *are* called.
513    
514            * tests/Class+Meth.R (classCanCoerce): and starting to test
515            all as(<from>, <to>)
516    
517    2007-01-30  Martin Maechler  <maechler@stat.math.ethz.ch>
518    
519            * R/Tsparse.R ([): more care when subsetting triangular Tsparse
520            * tests/indexing.R: tested now
521            * tests/indexing.Rout.save: updated
522    
523            * src/Csparse.c (Csparse_to_dense): use Rkind = -1 for PATTERN to
524            * src/chm_common.c (chm_dense_to_SEXP): return "ngeMatrix" when
525            appropriate.
526    
527            * NAMESPACE: export a trivial
528            * R/Matrix.R: drop() Matrix-method
529    
530            * R/AllClass.R: moved all prototypes to virtual super classes.
531    
532            * R/Rsparse.R: many more coercions to have less exceptions in
533            * tests/Class+Meth.R:
534    
535            * R/Ops.R (Compare): tweak for case with NA
536            * tests/simpl.R: hence another 'FIXME' eliminated
537    
538    2007-01-29  Martin Maechler  <maechler@stat.math.ethz.ch>
539    
540            * R/diagMatrix.R (solve): the obvious methods for diagonalMatrix
541            objects.
542    
543            * tests/Class+Meth.R (tstMatrixClass): now testing diag(), nnzero(),
544              and more of "!", "&", "|", all, any; coercions
545    
546            * R/Rsparse.R: many coercions (which enable quite a few other
547            methods), thanks to enhancements in
548            * src/dgCMatrix.c (R_to_CMatrix): new, and
549            * src/dgCMatrix.c (compressed_to_TMatrix): now for (d,l,n) ,
550            symmetric & triangular and ..RMatrix objects.
551    
552            * src/TMatrix_as.c (Matrix_T_as_DENSE,Matrix_T_as_GENERAL):
553            renamed file from src/dsTMatrix.c;
554            now dealing with symmetric and triangular Tsparse coercions, both
555            to dense and general.
556    
557    2007-01-27  Martin Maechler  <maechler@stat.math.ethz.ch>
558    
559            * src/dsTMatrix.c: has now "l" and "n" methods besides the "d" ones.
560    
561            * R/Ops.R (Arith): <dgCMatrix> o <numeric> now remains sparse
562            where sensible when the <numeric> is of length > 1.
563    
564    2007-01-26  Martin Maechler  <maechler@stat.math.ethz.ch>
565    
566            * R/Matrix.R ([<-): for M[] <- value: fix length
567    
568    2007-01-25  Martin Maechler  <maechler@stat.math.ethz.ch>
569    
570            * R/Auxiliaries.R (n2l_Matrix): new, to be used in
571            * R/ndenseMatrix.R: new coercions n* -> l*
572    
573    2007-01-22  Martin Maechler  <maechler@stat.math.ethz.ch>
574    
575            * R/triangularMatrix.R: new file; simple triu() and tril() methods.
576    
577            * R/Ops.R ("Logic"): and other "Ops", many updates
578    
579    2007-01-18  Martin Maechler  <maechler@stat.math.ethz.ch>
580    
581            * src/Mutils.h (SET_DimNames): new utility
582    
583            * R/Auxiliaries.R (nnzero): improved and now exported via
584    
585            * NAMESPACE: + nnzero(); length() == prod(dim(.)) method for all "Matrix" objects
586    
587    2007-01-17  Martin Maechler  <maechler@stat.math.ethz.ch>
588    
589            * R/diagMatrix.R (!): fix typo.
590    
591    2007-01-16  Martin Maechler  <maechler@stat.math.ethz.ch>
592    
593            * R/Auxiliaries.R (as_Csparse): and quite a few others:
594                    allow to pass class definition --> speedup
595            * R/sparseMatrix.R: apply the above
596    
597            * R/Csparse.R: coercion Csparse* to dense* now preserves shape properties.
598    
599            * src/Mutils.h (mMatrix_as_geMatrix): new, based on
600            * src/Mutils.c (dup_mMatrix_as_geMatrix): new; generalization of
601            old dup_mMatrix_as_dgeMatrix), eliminating a long-standing "FIXME".
602    
603            * src/dense.c (dense_to_Csparse): use new mMatrix_as_geMatrix()
604    
605            * R/denseMatrix.R (.dense2C): based on dense_to_Csparse: name it,
606            and use it for "sparse*" as well, since it's faster than the
607            as_Csparse(.) way.
608    
609    2007-01-15  Martin Maechler  <maechler@stat.math.ethz.ch>
610    
611            * R/Ops.R ("Logic"): more methods, notably an  <lgC> o <lgC> one.
612    
613    2007-01-12  Martin Maechler  <maechler@stat.math.ethz.ch>
614    
615            * R/Tsparse.R (.TM.repl.i.2col): new internal function to be used
616            as method for   M[ ij ] <- v
617            * R/Csparse.R:: go via Tsparse for "M[ij] <- v"
618    
619            * R/Ops.R: "Compare" for (C|R)sparse: need pointer slot for all
620            FALSE answer
621    
622            * R/Csparse.R (replCmat): fix the "all non-zero" case with reordering
623            * tests/indexing.R: test it, and some of the above
624    
625    2007-01-05  Martin Maechler  <maechler@stat.math.ethz.ch>
626    
627            * R/Auxiliaries.R (is_duplicatedT): new utility
628    
629    2007-01-05  Douglas Bates  <bates@stat.wisc.edu>
630    
631            * src/init.c (R_init_Matrix): export cholmod_scale
632    
633    2006-12-30  Martin Maechler  <maechler@stat.math.ethz.ch>
634    
635            * R/zzz.R (tmp): for R >= 2.5.0, extend formals of our
636            base::as.matrix to (x, ...)
637    
638    2006-12-28  Martin Maechler  <maechler@stat.math.ethz.ch>
639    
640            * R/Ops.R ("Arith" etc): move almost all "Ops" methods to new R
641            file; start using "Logic", hence
642    
643            * DESCRIPTION (Depends): R >= 2.4.1 (since we want "Logic")
644            * NAMESPACE: import and export "Logic"
645    
646    2006-12-27  Martin Maechler  <maechler@stat.math.ethz.ch>
647    
648            * src/zpotfr.f and dependencies: use LAPACK 3.1 version
649            only needed previously to R version 2.5.0.
650    
651    2006-12-26  Martin Maechler  <maechler@stat.math.ethz.ch>
652    
653            * DESCRIPTION (Date, Version): 0.9975-8, ready for release
654    
655            * R/Tsparse.R (replTmat): fix subassignment of triangular
656            * R/Csparse.R (replCmat): ditto
657            * tests/indexing.R: more tests, incl the above fix
658    
659    2006-12-23  Martin Maechler  <maechler@stat.math.ethz.ch>
660    
661            * R/Auxiliaries.R (drop0): extend for non CSparse
662            * R/Auxiliaries.R (diagU2N): should work for all sparseMatrix
663    
664            * src/Csparse.c (Csparse_to_Tsparse, Csparse_general_to_symmetric):
665                    use uplo correctly (!); other places: use uplo_P() macro
666    
667            * R/Csparse.R (replCmat): call diagU2N() when needed
668            * R/Tsparse.R (replTmat): ditto
669    
670            * src/dtCMatrix.c (tCMatrix_validate): new
671            * src/dtTMatrix.c (tTMatrix_validate): new, used in
672            * R/AllClass.R: for validity of dtC, dsC, and dtT, dsT.
673    
674            * R/diagMatrix.R (replDiag): to use in [<-
675    
676    2006-12-22  Martin Maechler  <maechler@stat.math.ethz.ch>
677    
678            * R/Auxiliaries.R (as_Csparse2, as_geSimpl): new functions;
679                    also more general diagU2N().
680    
681    2006-12-21  Martin Maechler  <maechler@stat.math.ethz.ch>
682    
683            * R/bind2.R: new file for all cbind2(), rbind() methods moved here
684            from R/<foo>Matrix.R files. Better diagonal & improved sparse methods.
685    
686    2006-12-20  Martin Maechler  <maechler@stat.math.ethz.ch>
687    
688            * tests/bind.R: a few more cases
689            * R/Auxiliaries.R (.M.kind): also work for atomic vectors
690    
691            * R/denseMatrix.R (cbind2/rbind2): moved here (and generalized) from
692            * R/ddenseMatrix.R (cbind2/rbind2)
693            * R/Tsparse.R (replTmat): final(?!) fix for "[<-" ..
694            * tests/indexing.R
695            * tests/indexing.Rout.save: updated
696    
697    2006-12-18  Martin Maechler  <maechler@stat.math.ethz.ch>
698    
699            * R/Tsparse.R (replTmat): fixed a remaining "[<-" bug in
700            * tests/indexing.R
701    
702    2006-12-15  Martin Maechler  <maechler@stat.math.ethz.ch>
703    
704            * R/sparseMatrix.R (prSpMatrix): "." alignment much improved:
705            align with proper position of "0", i.e., right for integers.
706            argument 'align' by default is "fancy".
707    
708    2006-12-14  Martin Maechler  <maechler@stat.math.ethz.ch>
709    
710            * R/sparseMatrix.R: delegate "Compare" to "Csparse.."
711            * R/Csparse.R: and fix "Compare" for more cases.
712            * tests/Class+Meth.R: test some of these (m == m, m != m)
713    
714    2006-12-13  Martin Maechler  <maechler@stat.math.ethz.ch>
715    
716            * R/lsparseMatrix.R: all() and any() methods
717            * R/ldenseMatrix.R:      ditto
718            * NAMESPACE, R/Matrix.R: ditto
719    
720            * man/all-methods.Rd: document them minimally
721    
722            * tests/simple.R: add a few examples for these
723    
724    2006-12-11  Martin Maechler  <maechler@stat.math.ethz.ch>
725    
726            * R/Tsparse.R ([): fix long standing typo in symmetric case
727            * man/dsCMatrix-class.Rd: add example exhibiting the above case
728    
729    2006-12-10  Douglas Bates  <bates@stat.wisc.edu>
730    
731            * src/CHMfactor.c (CHMfactor_to_sparse): change LDL factorization
732            to LL before converting to a sparse matrix. (The LDL form can be
733            converted to a sparse matrix but it is implicitly a unit
734            triangular matrix and a diagonal matrix overwritten on the diagonal.)
735    
736    2006-12-09  Douglas Bates  <bates@stat.wisc.edu>
737    
738            * src/chm_common.c (chm_factor_to_SEXP): allocate and fill the Dim slot.
739    
740    2006-12-08  Douglas Bates  <bates@stat.wisc.edu>
741    
742            * DESCRIPTION (Version): updated -> release 0.9975-7
743            * src/{init.c,chm_common.c}, inst/include/*: export cholmod_analyze_p
744    
745    2006-11-30  Martin Maechler  <maechler@stat.math.ethz.ch>
746    
747            * R/diagMatrix.R (%*%): write a direct [diag o Csparse] method
748    
749    2006-11-29  Douglas Bates  <bates@stat.wisc.edu>
750    
751            * src/dgeMatrix.c (dgeMatrix_solve): Check error code from dgetri.
752            * tests/dg_Matrix.R: Add Barry Rowlingson's test of a matrix that
753            is exactly singular.
754    
755    2006-11-07  Martin Maechler  <maechler@stat.math.ethz.ch>
756    
757            * DESCRIPTION (Date): updated -> release 0.9975-6
758    
759    2006-11-06  Martin Maechler  <maechler@stat.math.ethz.ch>
760    
761            * R/Csparse.R (replCmat): symmetric indexing of symmetric matrix
762            now returns symmetric.
763    
764            * R/zzz.R ("diag<-"): replace "diag<-" in base for R <= 2.4.x
765    
766            * R/Matrix.R (.M.sub.i.2col):  new, for  M[ cbind(i,j) ] indexing.
767            * R/Matrix.R (.M.repl.i.2col): new, for  M[ cbind(i,j) ] <- value
768    
769            * R/Auxiliaries.R (.type.kind): added
770    
771    2006-11-04  Martin Maechler  <maechler@stat.math.ethz.ch>
772    
773            * src/cs.[ch]: updated to CSparse Version 2.0.3 by simply
774            running src/CSparse_install.sh
775    
776            * R/denseMatrix.R: "[": keep symmetric on symmetric indexing.
777    
778    2006-11-03  Martin Maechler  <maechler@stat.math.ethz.ch>
779    
780            * src/dsCMatrix.c (dsCMatrix_Csparse_solve): new
781            * R/dsCMatrix.R (solve): "fully-sparse" using the above.
782    
783            * R/AllClass.R: "pMatrix" now also inherits from "generalMatrix"
784    
785            * tests/Class+Meth.R (tstMatrixClass): now assure
786            the (important in method programming) property :
787    
788                    ###>>  Every "Matrix" is either
789                    ###>>  "general*", "symmetric*", "triangular*" or "diagonal*"
790    
791                    (where "*" stands for "Matrix")
792    
793            * R/Auxiliaries.R (diagU2N): now .Call()s Csparse_diagU2N for <Csparse>
794    
795            * R/dMatrix.R (Compare(<dMatrix>,<dMatrix>): update and
796            * tests/validObj.R: checks for "comparison"
797    
798            * R/sparseMatrix.R ([): improved indexing for sparse;
799                    trying to keep <symmetric>[ n, n] symmmetric
800    
801            * tests/indexing.R: indexing for logical sparse now ok
802    
803    
804    2006-11-02  Martin Maechler  <maechler@stat.math.ethz.ch>
805    
806            * src/Tsparse.c: use xTsparse_validate() , and hence remove
807    
808            * src/{ltC,lsC,lgT}Matrix.[ch]: removed
809    
810    2006-11-02  Martin Maechler  <maechler@stat.math.ethz.ch>
811    
812            * R/AllClass.R (Matrix-class): check length of dimnames in validity.
813    
814            * tests/simple.R: validObject() checking the above.
815    
816            * src/dgCMatrix.c (xCMatrix_validate): new, small and simple,
817            replacing both dgCMatrix_validate and lgCM*.
818    
819            * src/Csparse.c (Csparse_dense_prod, etc): do not lose dimnames;
820            fix dimnames setting in other places.
821            * src/chm_common.c (chm_dense_to_SEXP): now can pass dimnames
822    
823    2006-11-01  Martin Maechler  <maechler@stat.math.ethz.ch>
824    
825            * R/Csparse.R,src/Csparse.c, etc: tcrossprod(<CsparseM>,<CsparseM>)
826    
827            * R/sparseMatrix.R (isSymmetric): drop 'factors' slot for
828            symmetry test, via
829            * R/Auxiliaries.R (.as.dgC.0.factors):
830    
831    2006-11-01  Douglas Bates  <bates@r-project.org>
832    
833            * R/Csparse.R,src/Csparse.c,tests/matprod.R,
834            man/CsparseMatrix-class.Rd: crossprod(<CsparseMatrix>,
835            <CsparseMatrix>) added
836    
837    2006-10-30  Martin Maechler  <maechler@stat.math.ethz.ch>
838    
839            * tests/matprod.R: add a variation of Harri's example
840    
841            * R/dsparseMatrix.R: fix crossprod(<dsparse>, <dge>) to *not*
842            recursive infinitely.
843    
844            * R/dgCMatrix.R: + solve(<sparse>, <sparse>)
845    
846            * tests/indexing.R: add test for the "<" bug fixed 10-27 in R/dMatrix.R
847    
848    2006-10-28  Martin Maechler  <maechler@stat.math.ethz.ch>
849    
850            * tests/Class+Meth.R (tstMatrixClass): more: use non-trivial
851            matrix if possible; test m+m == 2*m; now test dgRMatrix.
852            * R/dgRMatrix.R (.to.dgR): a few more coercions, in order to
853            satisfy the above test.
854    
855    2006-10-27  Martin Maechler  <maechler@stat.math.ethz.ch>
856    
857            * R/Matrix.R (Ops):  <Matrix> o <matrix>  method added
858    
859            * R/dgCMatrix.R: solve(a, b="missing") based on
860            * src/dgCMatrix.c (dgCMatrix_matrix_solve): extend to work with
861            RHS = NULL.
862    
863            * R/diagMatrix.R (diagdiagprod): extend %*% etc to ldiMatrix;
864            add more (needed) [t]crossprod() methods.
865    
866            * man/ddiMatrix-class.Rd: more info, notably on 'diag'
867    
868            * R/Auxiliaries.R (as_CspClass): cleanup
869            (drop0): internal utility for "Csparse_drop(*, 0)"
870            (.bail.out.2): encourage active feedback
871    
872    2006-10-26  Martin Maechler  <maechler@stat.math.ethz.ch>
873    
874            * R/dMatrix.R(Compare): new(), then slots [no validity check]
875    
876            * src/Csparse.c (Csparse_validate): fixed (and more efficient in
877            non-valid or 'sorted' case).
878    
879            * R/dsparseMatrix.R: add "chol" method.
880            * R/ddenseMatrix.R: ditto
881    
882            * R/diagMatrix.R (Ops): group methods for  <diagonal> o <sparse>
883            * NAMESPACE (Ops)
884            * R/diagMatrix.R (diag2T): simple utility used "higher level"
885            coercion; deprecating direct lower level coercions.
886    
887            * R/*.R (seq): use seq_len() and seq_along() where possible.
888    
889    
890    2006-10-23  Martin Maechler  <maechler@stat.math.ethz.ch>
891    
892            * DESCRIPTION (Version): 0.9975-5 ready for release
893    
894    2006-10-20  Douglas Bates  <bates@stat.wisc.edu>
895    
896            * src/init.c (R_init_Matrix): export more cholmod CCallable functions.
897    
898    2006-10-20  Martin Maechler  <maechler@stat.math.ethz.ch>
899    
900            * R/AllClass.R (corMatrix): add 'validity' check;
901                    comment out unused "LDL" class definition
902            * NAMESPACE: mention, but do not export "LDL" class
903            * R/corMatrix.R: new (simple), needed for R-devel with
904            * tests/Class+Meth.R (tstMatrixClass): 1 exception for corMatrix
905              coerce and t() exceptions for all 5 'Mat.MatFact' classes.
906    
907    2006-10-19  Douglas Bates  <bates@stat.wisc.edu>
908    
909            * src/chm_common.h: Add R_cholmod_start to initialize cholmod to
910            use Rprintf and R's error handling.
911    
912    2006-10-17  Martin Maechler  <maechler@stat.math.ethz.ch>
913    
914            * R/diagMatrix.R (%*%): rep(*, each = .) in Matrix %*% diagonal.
915            * tests/matprod.R: add tests for the bug fixed.
916    
917    2006-10-11  Douglas Bates  <bates@stat.wisc.edu>
918    
919            * src/HBMM.[ch]: remove HarwellBoeing format for writing.
920            * src/SOURCES_C.mkf (SOURCES_C): no longer compile iohb.c
921    
922    2006-10-06  Douglas Bates  <bates@stat.wisc.edu>
923    
924            * R/d[gs]CMatrix.R: deprecate the writeHB function.  Use writeMM instead.
925    
926    2006-10-06  Martin Maechler  <maechler@stat.math.ethz.ch>
927    
928            * DESCRIPTION (Version): 0.9975-3
929    
930            * R/diagMatrix.R (bdiag): new function constructing block diagonal
931            (sparse) matrices.
932            * man/bdiag.Rd: docu + examples
933    
934            * R/Csparse.R (replCmat): calling new Csparse_drop() now.
935    
936            * src/Csparse.c (Csparse_general_to_symmetric, Csparse_drop): new functions
937            * R/lsCMatrix.R: three more coercions to lsC (thanks to the above)
938    
939            * R/diagMatrix.R (Diagonal): '[<-' method for diag.matrices such
940            that result is sparse or diagonal (and not dense).
941    
942            * man/Subassign-methods.Rd: fix examples
943    
944            * R/Matrix.R (Matrix):  Matrix(0, *) or Matrix(*, sparse=TRUE)
945            should always return a sparse (and not sometimes a diagonal) matrix.
946    
947    2006-10-05  Martin Maechler  <maechler@stat.math.ethz.ch>
948    
949            * R/Matrix.R ([<-): also for value "Matrix" or "matrix"
950    
951    2006-10-04  Douglas Bates  <bates@stat.wisc.edu>
952    
953            * DESCRIPTION (Version): 0.9975-2
954    
955            * inst/include/Matrix_stubs.c (M_cholmod_sparse_to_triplet): export more symbols
956    
957    2006-10-02  Douglas Bates  <bates@R-project.org>
958    
959            * tests/dg_Matrix.R: Simplify test taking into account new code.
960    
961    2006-09-29  Martin Maechler  <maechler@stat.math.ethz.ch>
962    
963            * R/Csparse.R (replCmat): improve for missing i / j in non-simple cases
964    
965            * R/lsTMatrix.R: new files w/ missing methods
966            * R/nsTMatrix.R:  "  'for completeness'
967    
968            * tests/Class+Meth.R: a bit less 'not.ok.classes'
969    
970            * R/Tsparse.R (t): generalized "t" method from "dgT*" to "Tsparse*"
971    
972    
973    2006-09-28  Douglas Bates  <bates@R-project.org>
974    
975            * src/dppMatrix.h: Ensure definition of dspMatrix_validate is
976            included.
977    
978            * src/init.c, inst/include/{Matrix.h,Matrix_stubs.h,cholmod.h}:
979            Export C-callable functions used in Zt_create in lme4.
980    
981    2006-09-28  Martin Maechler  <maechler@stat.math.ethz.ch>
982    
983            * DESCRIPTION (Version): 0.9975-1
984    
985            * tests/simple.R: less checks fail; using NA, found that our
986                    kronecker() is not base-compatible with NA's.
987    
988            * R/dMatrix.R: "Compare" method now implemented for all cases
989    
990            * R/Auxiliaries.R (indTri): == which([lower/upper].tri( * )) new utility
991    
992            * man/dtpMatrix-class.Rd: mention length of 'x' slot
993    
994            * src/dtpMatrix.c (dtpMatrix_validate): fix check
995            * src/dspMatrix.c (dspMatrix_validate): ditto
996    
997            * R/dtTMatrix.R (gt2tT): fix ("l" -> "n")
998              including coercion to [nl]tTMatrix.
999    
1000            * R/diagMatrix.R (show): print a header line as for other classes.
1001    
1002    2006-09-27  Martin Maechler  <maechler@stat.math.ethz.ch>
1003    
1004            * src/Makefile.win (SUBDIRS): fix typo
1005    
1006    2006-09-19  Martin Maechler  <maechler@stat.math.ethz.ch>
1007    
1008            * DESCRIPTION (Date): ready to release 0.9975-0 to CRAN
1009    
1010    2006-09-18  Douglas Bates  <bates@stat.wisc.edu>
1011    
1012            * R/[CT]sparse.R (crossprod and tcrossprod): Handle the cases for x
1013            symmetric and y missing in R code using %*% (cholmod_aat doesn't
1014            accept a symmetric matrix).
1015            * tests/group-methods.R: Uncomment test of crossprod applied to
1016            lsCMatrix objects.
1017    
1018    2006-09-18  Martin Maechler  <maechler@stat.math.ethz.ch>
1019    
1020            * R/AllClass.R (symmetricMatrix): add validity method (available
1021            in C for a long time). Many "n..Matrix": drop (wrong) validity arg.
1022    
1023            * src/lgCMatrix.c (lgCMatrix_validate): check 'x' slot (!)
1024    
1025            * tests/indexing.Rout.save:
1026            * tests/indexing.R: additions, mainly for 'lsparse'
1027    
1028            * R/diagMatrix.R (Diagonal) & coercion to lgTMatrix: fixes for NA
1029            case.
1030    
1031            * R/Auxiliaries.R (nz.NA): new utility now used in nnzero()
1032    
1033    2006-09-16  Martin Maechler  <maechler@stat.math.ethz.ch>
1034    
1035            * R/sparseMatrix.R (prSpMatrix): print logical NAs "visibly"
1036                    as 'N' (1-letter - Ok?)
1037    
1038            * tests/group-methods.R: add test for logical + NAs
1039    
1040            * R/dMatrix.R ("Compare"): fix to work with NA's
1041    
1042            * R/AllClass.R: "Cholesky" etc now inherit from MatrixFactorization.
1043    
1044            * src/lgCMatrix.c (ncsc_to_matrix): renamed from lcsc_to_matrix()
1045                    which is implemented.
1046    
1047    2006-09-15  Martin Maechler  <maechler@stat.math.ethz.ch>
1048    
1049            * src/chm_common.c: coerce logical <-> double instead of
1050            typecasting;  needed for "l" matrix handling in cholmod.
1051    
1052            * tests/other-pkgs.R (graph): small extension in "graph" checks.
1053    
1054            * R/sparseMatrix.R (graphNEL -> Tsparse): method for weight case.
1055            (Tsp2grNEL): other fixes needed
1056    
1057    2006-09-11  Martin Maechler  <maechler@stat.math.ethz.ch>
1058    
1059            * R/AllClass.R ("nMatrix"): and subclasses for "nonzero pattern"
1060                    Matrices, since "lMatrix", also "lsparseM" can have NA
1061            * R/ndenseMatrix.R, etc: new source files
1062            * man/nsparseMatrix-classes.Rd, etc: new help files
1063            * tests/: adaptions
1064            * src/chm_common.c (chm_dense_to_SEXP): and others:
1065                    new 'Rkind' argument: "l*" and "d*" both use CHOLMOD_REAL
1066            * src/Csparse.c, etc: ditto
1067    
1068    2006-09-11  Douglas Bates  <bates@R-project.org>
1069    
1070            * src/Mutils.[ch],init.c inst/include/*.h: Move the
1071            alloc_d**Matrix functions to the lme4 package.
1072    
1073    2006-09-09  Douglas Bates  <bates@R-project.org>
1074    
1075            * src/dsCMatrix.c (dsCMatrix_Cholesky): igoring LDL = FALSE now
1076            fixed
1077    
1078    2006-09-09  Martin Maechler  <maechler@stat.math.ethz.ch>
1079    
1080            * R/lMatrix.R: new
1081    
1082            * R/sparseMatrix.R (Tsp2grNEL): do not yet use graph::foo()
1083    
1084            * R/dgeMatrix.R: do not define tcrossprod() methods for "matrix"
1085            * man/tcrossprod.Rd: ditto
1086    
1087    2006-09-08  Douglas Bates  <bates@stat.wisc.edu>
1088    
1089            * inst/include/Matrix_stubs.c,Matrix.h: Add declarations and stubs
1090            for exported functions
1091            * src/Makefile, src/CHOLMOD/Lib/Makefile, src/Metis,CAMD,CCOLAMD:
1092            Remove partitioning algorithms for sparse matrix reordering.  The
1093            copyright on the Metis code was problematic and the methods were
1094            rarely used.
1095            * src/triplet_to_col.[ch],MMHB.[ch]: Remove triplet_to_col.  Such
1096            operations are now done entirely in CHOLMOD code.
1097    
1098    2006-09-06  Douglas Bates  <bates@R-project.org>
1099    
1100            * src/Mutils.h: Remove functions that are no longer used.
1101    
1102    2006-09-04  Douglas Bates  <bates@R-project.org>
1103    
1104            * src/dtCMatrix.c (dtCMatrix_validate): rename functions.
1105            * src/DEPS.mkf: update
1106    
1107    2006-09-02  Martin Maechler  <maechler@stat.math.ethz.ch>
1108    
1109            * created branches/Matrix-for-R-2.3.x;  on trunk: do
1110            * DESCRIPTION (Version): 0.9975-0
1111            (Depends): R (>= 2.4.0)
1112    
1113    2006-09-01  Douglas Bates  <bates@R-project.org>
1114    
1115            * R/sparseMatrix.R: Added direct method to CsparseMatrix from graphNEL
1116    
1117    2006-09-01  Martin Maechler  <maechler@stat.math.ethz.ch>
1118    
1119            * R/sparseMatrix.R: add coercion from "ANY" to "sparseMatrix"
1120            * R/denseMatrix.R:  add coercion from "ANY" to "denseMatrix"
1121    
1122            * R/Matrix.R ([): use nargs() to disambiguate M[i] and M[i,]
1123    
1124    2006-08-31  Martin Maechler  <maechler@stat.math.ethz.ch>
1125    
1126            * R/sparseMatrix.R (Arith): moved Arith group method one-level up
1127            from "dsparse" to "sparse" and now go via "Csparse" instead of "dgC"
1128            * R/dsparseMatrix.R: ditto
1129            * R/Csparse.R: ditto
1130    
1131    2006-08-31  Martin Maechler  <maechler@stat.math.ethz.ch>
1132    
1133            * R/dMatrix.R (Compare): improve availability of "<", etc
1134            * R/Auxiliaries.R (asTuniq): new; also make use of R 2.4.x print(*,max)
1135    
1136    2006-08-30  Martin Maechler  <maechler@stat.math.ethz.ch>
1137    
1138            * R/dgCMatrix.R: aargh: "Arith(<dgC>, numeric)" was wrong because
1139            of a 0-index which was used as 1-index (..hmm)
1140    
1141            * R/sparseMatrix.R (prSpMatrix): fix printing an all-0 sparse Matrix
1142    
1143            * R/Auxiliaries.R (all0, is0): for 0-testing in presence of NA's
1144            * R/Auxiliaries.R (isTriMat): use all0() for 0-testing.
1145            (.is.diagonal): ditto
1146    
1147            * R/lgTMatrix.R: as("matrix", "lgTMatrix"): warn about NA's
1148    
1149            * R/Matrix.R (Matrix): also work for NA data
1150    
1151    2006-08-28  Martin Maechler  <maechler@stat.math.ethz.ch>
1152    
1153            * R/Matrix.R (Matrix): + 'forceCheck' argument; dimnames setting
1154            in all cases.
1155    
1156    2006-08-27  Douglas Bates  <bates@R-project.org>
1157    
1158            * src/dense.[ch],init.c, R/ddenseMatrix.R, man/band.Rd
1159            (ddense_band): Added triu, tril and band for ddenseMatrix objects.
1160    
1161    2006-08-25  Martin Maechler  <maechler@stat.math.ethz.ch>
1162    
1163            * src/Mutils.c (dup_mMatrix_as_dgeMatrix): added all subclasses of
1164            subclasses of "ddenseMatrix"
1165            * src/init.c et al: outcomment dtrM*_as_dge* and dsyM*_as_dge*_
1166            * R/ddenseMatrix.R et al: setAs("ddenseMatrix", "dgeMatrix", ..)
1167            instead of half dozen specialized ones.
1168    
1169    2006-08-25  Douglas Bates  <bates@R-project.org>
1170    
1171            * R/lmer.R (qqmath method): Bug fix provided by Emmanuel Tillard
1172            <tillard@cirad.fr> - ordering standard errors to match effects.
1173    
1174    2006-08-24  Douglas Bates  <bates@R-project.org>
1175    
1176            * src/lsCMatrix.c (lsCMatrix_trans): Remove lsCMatrix_chol based
1177            on R_ldl.
1178            * R/lCholCMatrix.R,
1179            src/[dl]CholCMatrix.[ch],R_ldl.[ch],Metis_utils.[ch]: removed
1180            * src/dsCMatrix.c (dsCMatrix_to_dgTMatrix): use CHOLMOD
1181            * many files in ./R and ./src: Use more general version of
1182            dup_mMatrix_as_dgeMatrix to simplify method definitions.
1183            * src/Mutils.c (dup_mMatrix_as_dgeMatrix): Add ddiMatrix,
1184            dtpMatrix, dspMatrix and dppMatrix conversions.
1185    
1186    
1187    2006-08-23  Douglas Bates  <bates@R-project.org>
1188    
1189            * R/AllClass.R,lCholCMatrix.R,src/SOURCES_C.mkf,init.c,NAMESPACE:
1190            Remove classes lCholCMatrix and dCholCMatrix based on R_ldl code.
1191            * src/dgeMatrix.c: Ensure 'factors' slot exists in result of
1192            dgeMatrix_crossprod (may need to do this in other places).
1193            * R/AllGeneric.R,dsCMatrix.R, src/dscMatrix.[ch]: Add Cholesky
1194            generic and method for dsCMatrix.  Use CHOLMOD for chol().
1195    
1196    2006-08-22  Douglas Bates  <bates@R-project.org>
1197    
1198            * src/Mutils.c (dup_mMatrix_as_dgeMatrix): updated for general
1199            types of classed Matrices, matrices or numeric or logical vectors.
1200            * src/init.c: register dup_mMatrix_as_dgeMatrix for coercions.
1201            * src/chm_common.c,Mutils.h (as_cholmod_factor): Move check_class
1202            to Mutils.h (as an inline) and change name to Matrix_check_class;
1203            fixes in as_cholmod_factor and chm_factor_to_SEXP.
1204            * src/dsCMatrix.[ch]: Use CHOLMOD for dsCMatrix_chol and
1205            dsCMatrix_matrix_solve.  Comment out vestigial functions.
1206            * src/Csparse.c: use diag_P and uplo_P macros.
1207    
1208    2006-08-21  Douglas Bates  <bates@R-project.org>
1209    
1210            * src/lmer.c (internal_mer_RZXinv): Fix memory leak caught by
1211            valgrind.
1212            * tests/matprod.R: Add tests to verify that 'solve' and '%*%' are
1213            inverses.
1214            * src/sparseQR.c (sparseQR_validate): add new validation test, fix
1215            -Wall warnings.
1216            * src/dppMatrix.c,dtrMatrix.c,dgCMatrix.c,dgeMatrix.c,dspMatrix.c:
1217            Use dup_mMatrix_as_dgeMatrix.
1218    
1219    2006-08-20  Douglas Bates  <bates@R-project.org>
1220    
1221            * src/sparseQR.c: Fix thinko in sparseQR_resid_fitted.
1222            * tests/sparseQR.R: Added
1223            * man/sparseQR-class.Rd: Document methods for qr.* generics
1224            * R/sparseQR.R: Return correct # of coefs; fix cut-and-paste errors
1225    
1226    2006-08-19  Douglas Bates  <bates@R-project.org>
1227    
1228            * NAMESPACE, R/sparseQR.R, src/init.c,sparseQR.[ch],SOURCES_C.mkf:
1229            Added methods for sparseQR for qr.qy, qr.qty, qr.coef, qr.resid
1230            and qr.fitted.
1231            * src/Mutils.[ch]: Added dup_mMatrix_as_dgeMatrix utility
1232            * src/dgCMatrix.c: Check for ordering before storing q in dgCMatrix_QR
1233    
1234    2006-08-18  Martin Maechler  <maechler@stat.math.ethz.ch>
1235    
1236            * R/AllGeneric.R: add "qr" and "chol" generics; via 'trick' since
1237            the base version has no "..." argument.
1238    
1239            * R/sparseMatrix.R (prSpMatrix): fix the triangular unit diagonal case.
1240    
1241            * R/Matrix.R: define and
1242            * NAMESPACE: export as.numeric() and as.logical() methods.
1243                    Let's hope these do not badly slow down something...
1244            Finally export the zapsmall() method.
1245    
1246    2006-08-17  Douglas Bates  <bates@R-project.org>
1247    
1248            * src/dgCMatrix.[ch] (dgCMatrix_matrix_solve), src/init.c,
1249            R/dgCMatrix.R: solve methods for dgCMatrix and dense RHS.
1250            * src/dtCMatrix.c :Remove code that is no longer used
1251            * R/dtCMatrix.R: Use C code for diagU2N in CsparseMatrix classes
1252    
1253    2006-08-14  Douglas Bates  <bates@R-project.org>
1254    
1255            * src/Csparse.[ch],init.c (Csparse_to_logical): Added utilities
1256            Csparse_to_logical and Csparse_symmetric_to_general.
1257            * R/dgCMatrix.R,dsCMatrix.R,Csparse.R : Consolidate general
1258            coercion methods between CsparseMatrix and TsparseMatrix.
1259    
1260    2006-08-14  Douglas Bates  <bates@R-project.org>
1261    
1262            * R/dtCMatrix.R,dgCMatrix.R,Csparse.R src/init.c,dgCMatrix.[ch],
1263            Csparse.[ch],chm_common.c,dense.c : Use CHOLMOD code and methods
1264            for CsparseMatrix, TsparseMatrix, denseMatrix or matrix when
1265            possible.
1266    
1267    2006-08-12  Douglas Bates  <bates@R-project.org>
1268    
1269            * src/chm_common.[ch],Csparse.[ch],Tsparse.[ch],CHMfactor.c,dtTMatrix.c,
1270              dgTMatrix.c,dgCMatrix.c,dsCMatrix.c,dtTMatrix.c, R/dsTMatrix.R,
1271              Tsparse.R,Csparse.R,dgTMatrix.R,dsCMatrix.R,lsCMatrix.R:
1272              generalize conversions between TsparseMatrix, CsparseMatrix,
1273              denseMatrix and matrix.  Preserve triangularity property and
1274              propagate Dimnames in the easy cases.
1275    
1276    2006-08-10  Douglas Bates  <bates@R-project.org>
1277    
1278            * src/lmer.c: adjust checks in glmer_init for S4SXP
1279            * tests/validObj.R: check of all(eq) should be all(eq@x) - worked
1280            before S4SXP but for the wrong reasons.
1281    
1282    2006-08-08  Douglas Bates  <bates@R-project.org>
1283    
1284            * src/Csparse.c (Csparse_crossprod): tcrossprod result has stype = -1.
1285            Later modified to return the upper triangle only.
1286            * R/dgTMatrix.R: Remove vestigial crossprod and tcrossprod methods.
1287    
1288    2006-08-07  Douglas Bates  <bates@R-project.org>
1289    
1290            * src/Csparse.c (Csparse_crossprod): Set stype on result to avoid
1291            R-level conversion to a sparse symmetric class.
1292            * R/Tsparse.R,R/Csparse.R (crossprod and tcrossprod methods):
1293            Remove conversion to sparse symmetric classes (now done in C code).
1294    
1295    2006-08-07  Martin Maechler  <maechler@stat.math.ethz.ch>
1296    
1297            * R/dgCMatrix.R: disable old crossprod and tcrossprod methods
1298            * man/band.Rd:  adapt the \dontshow{} unit test.
1299    
1300    2006-08-07  Martin Maechler  <maechler@stat.math.ethz.ch>
1301    
1302            * DESCRIPTION (Version): 0.995-14  for CRAN
1303    
1304            * tests/other-pkgs.R: oops: library(Matrix) outside *if* !
1305    
1306            * R/sparseMatrix.R (Tsp2grNEL): fixed Tsparse -> graph coercion
1307            * tests/other-pkgs.R:  more checks, sparseMatrix -> graph
1308    
1309            * R/Auxiliaries.R (as_Tsparse, as_Rsparse): new
1310            * R/Tsparse.R (tril, triu, band): methods
1311            * R/dgRMatrix.R (tril, ...):    ditto
1312            * man/band.Rd:                  ditto
1313    
1314    2006-08-04  Martin Maechler  <maechler@stat.math.ethz.ch>
1315    
1316            * R/Matrix.R (head, tail): directly use utils:::head.matrix
1317                    to be up-to-date automatically.
1318    
1319    2006-08-03  Martin Maechler  <maechler@stat.math.ethz.ch>
1320    
1321            * DESCRIPTION (Version): 0.995-13 to be released to CRAN
1322    
1323            * DESCRIPTION (Lazydata): no, instead of 'yes' because it fails for:
1324            * data/CAex.R, inst/external/CAex_slots.rda: replacing data/CAex.rda
1325            * data/KNex.R, inst/external/KNex_slots.rda: replacing data/KNex.rda
1326            such that the S4 objects are always created by the current version
1327            of R and 'Matrix' class definitions.
1328    
1329    2006-08-01  Douglas Bates  <bates@R-project.org>
1330    
1331            * R/lmer.R (LMEoptimize method), tests/lmer.R,
1332            inst/external/test3comp.rda: Added warnings for convergence on
1333            boundary and test cases.
1334    
1335            * src/lmer.c (mer_postVar): Modified to return the variances that
1336            are marginal to the fixed effects, not conditional on them (which
1337            is what the bVar slot contents represent).
1338    
1339    2006-07-31  Douglas Bates  <bates@R-project.org>
1340    
1341            * NAMESPACE, src/lmer.c, R/lmer.R (hatTrace):  Add the hatTrace
1342            function which calls the C function mer_hat_trace2.
1343    
1344            * man/ranef.Rd: Include description of "postVar" argument and
1345            producing a caterpillar plot.
1346    
1347    2006-07-31  Martin Maechler  <maechler@stat.math.ethz.ch>
1348    
1349            * NAMESPACE:    change  "correlation" to "corMatrix"
1350            * R/AllClass.R: to avoid clash with S3 class in 'nlme'.
1351            * R/dpoMatrix.R: ditto
1352            * R/lmer.R:      ditto
1353    
1354    2006-07-28  Douglas Bates  <bates@R-project.org>
1355    
1356            * src/lmer.c (internal_mer_RZXinv): Split the calculation of the
1357            RZXinv slot's contents into a separate internal function that can
1358            be used in mer_hat_trace.
1359    
1360    2006-07-22  Martin Maechler  <maechler@stat.math.ethz.ch>
1361    
1362            * R/Matrix.R: Coercions "Matrix" -> (sparse|dense)Matrix
1363            via new smart
1364            * R/Auxiliaries.R (as_Csparse, as_dense, .M.shapse): new
1365            utility functions.
1366    
1367    
1368    2006-07-21  Martin Maechler  <maechler@stat.math.ethz.ch>
1369    
1370            * R/Csparse.R (tril, triu, band): do return *triangular* classed
1371            matrices when appropriate; band() even symmetric ones.
1372            (replCmat): extend to potentially all "CsparseMatrix"
1373            * R/Tsparse.R (replTmat): extend to all "TsparseMatrix"; hence
1374            allow subassignment for special sparse matrices.
1375    
1376            * R/Auxiliaries.R (as_geClass): factor out the  .M.kind() functionality
1377    
1378            * src/lmer.c (mer_MCMCsamp, glmer_MCMCsamp): new 'verbose'
1379            argument; in glmer_*(): print only if(verbose).
1380    
1381            speed-optimize a few places by moving REAL(.) out of loops.
1382    
1383            * src/lmer.h, src/init.h, R/lmer.R:  related to above.
1384    
1385    2006-07-20  Martin Maechler  <maechler@stat.math.ethz.ch>
1386    
1387            * R/Matrix.R("["): disable ("Matrix", i = "logical", j = "missing"),
1388                    since that wrongly triggers also for M[ logi , ]
1389    
1390            * R/denseMatrix.R: "[" methods now also work e.g. when indexing
1391            a symmetric matrix that results in a non-symmetric one.
1392            * R/Auxiliaries.R (as_geClass): new function used in "[" above.
1393    
1394            * R/dMatrix.R: make round(M) work as round(M, 0)
1395    
1396            * R/dgTMatrix.R (image): coordinate system and axis now use
1397            1-based indices, not 0-based ones.
1398    
1399            * R/Tsparse.R (.ind.prep for "["): get rid of max(<empty>) warning.
1400            * tests/indexing.R: test it.
1401    
1402            * NAMESPACE: export isSymmetric(); has been a generic in "base" for a while;
1403            * man/isSymmetric-methods.Rd: and document it.
1404    
1405            * R/SparseM-conv.R: added coercion methods for some 'SparseM' matrices.
1406            * man/SparseM-conv.Rd: docu them
1407    
1408            * tests/other-pkgs.R: renamed from tests/graph.R and add example
1409                    for 'SparseM' conversions
1410    
1411    2006-07-17  Douglas Bates  <Douglas.Bates@R-project.org>
1412    
1413            * R/Matrix.R (head): added head() and tail() methods.
1414    
1415    2006-07-17  Martin Maechler  <maechler@stat.math.ethz.ch>
1416    
1417            * DESCRIPTION (Version): 0.995-12 released to CRAN
1418    
1419    2006-07-15  Martin Maechler  <maechler@stat.math.ethz.ch>
1420    
1421            * tests/simple.R: add check for correct dsT -> dgT coercion;
1422                    add check for correct printing of symmetric sparse matrices.
1423    
1424            * R/Auxiliaries.R (non0ind): return *all* non-0 entry indices also
1425            for sparse symmetric matrices.
1426    
1427            * src/dsTMatrix.c (dsTMatrix_as_dgTMatrix): do not copy the
1428            diagonal twice.
1429    
1430    2006-07-11  Douglas Bates  <Douglas.Bates@R-project.org>
1431    
1432            * src/dsTMatrix.c (dsTMatrix_as_dgTMatrix): Fix a case of INTEGER
1433            being applied to the x slot (detected by Brian Ripley).
1434    
1435    2006-07-10  Martin Maechler  <maechler@stat.math.ethz.ch>
1436    
1437            * src/dgCMatrix.c (dgCMatrix_validate): 'p' slot must have correct length.
1438    
1439            * R/Auxiliaries.R (isTriC): fix buglet (we were 1-based!)
1440    
1441    2006-07-08  Martin Maechler  <maechler@stat.math.ethz.ch>
1442    
1443            * src/lgCMatrix.c (lgCMatrix_diag): new function
1444            * R/lgCMatrix.R (diag): for new method
1445    
1446            * R/AllClass.R (TsparseMatrix): do use Tsparse_validate
1447                 ==> construction of illegal "*gTMatrix" via new() should
1448                 now be much less easy:
1449            * tests/Class+Meth.R: assertError() for some illegal "dgT*"
1450    
1451            * R/Matrix.R (Matrix): Matrix(0, nrow,ncol) now "goes sparse"
1452                    directly.
1453            * man/Matrix.Rd: documents it.
1454    
1455    2006-07-06  Douglas Bates  <bates@R-project.org>
1456    
1457            * src/pedigree.c (pedigree_inbreeding): Correction in
1458            initialization.  This function is not currently being used and is
1459            not fully tested.
1460    
1461            * NAMESPACE, R/{AllClass.R,lmer.R}, src/{init.c,lmer.c}:
1462            Introduced the glmer class.  Added code for mcmcmsamp on glmer
1463            objects.  Modified validity check on pedigree objects to account
1464            for nonparallel patterns of missingness of parents.
1465    
1466            * man/{lmer-class.Rd,mcmcsamp.Rd}: Update documentation for glmer
1467            class.
1468    
1469    2006-07-01  Martin Maechler  <maechler@stat.math.ethz.ch>
1470    
1471            * R/pMatrix.R: coercion pMatrix -> Tsparse
1472    
1473    2006-06-12  Douglas Bates  <bates@R-project.org>
1474    
1475            * DESCRIPTION (Version): 0.995-11 released to CRAN
1476    
1477            * R/lmer.R (mcmcsamp method): Corrected arrangments of names on
1478            the output from mcmcsamp.
1479    
1480  2006-06-10  Douglas Bates  <bates@R-project.org>  2006-06-10  Douglas Bates  <bates@R-project.org>
1481    
1482          * R/lmer.R (simulestimate): added          * R/lmer.R (simulestimate): added C code for calculating the trace
1483            of the hat matrix.
1484    
1485  2006-06-09  Martin Maechler  <maechler@stat.math.ethz.ch>  2006-06-09  Martin Maechler  <maechler@stat.math.ethz.ch>
1486    
1487          * R/diagMatrix.R (setAs): define coercion methods to sparse matrix          * R/diagMatrix.R (setAs): define coercion methods to sparse matrix
1488          classes.          classes.
1489            * R/sparseMatrix.R etc: multiplication of diagonal and sparse
1490    
1491  2006-06-08  Martin Maechler  <maechler@stat.math.ethz.ch>  2006-06-08  Martin Maechler  <maechler@stat.math.ethz.ch>
1492    
# Line 43  Line 1524 
1524    
1525          * R/sparseMatrix.R: Matrix <-> graph methods: can no longer use          * R/sparseMatrix.R: Matrix <-> graph methods: can no longer use
1526          the C code depending on a slot structure that's no longer valid.          the C code depending on a slot structure that's no longer valid.
1527          * src/dgTMatrix.c: dito (also: src/init.c src/dgTMatrix.h)          * src/dgTMatrix.c: ditto (also: src/init.c src/dgTMatrix.h)
1528    
1529    
1530  2006-05-17  Douglas Bates  <bates@stat.wisc.edu>  2006-05-17  Douglas Bates  <bates@stat.wisc.edu>
# Line 166  Line 1647 
1647          * data/KNex.rda: replacing 'mm' and 'y' by KNex <- list(mm=mm, y=y)          * data/KNex.rda: replacing 'mm' and 'y' by KNex <- list(mm=mm, y=y)
1648          * man/KNex.Rd: and other help files          * man/KNex.Rd: and other help files
1649          * tests/*.R: several ones needed adaption          * tests/*.R: several ones needed adaption
1650          * inst/doc/Comparisons.Rnw: dito          * inst/doc/Comparisons.Rnw: ditto
1651    
1652  2006-03-11  Martin Maechler  <maechler@stat.math.ethz.ch>  2006-03-11  Martin Maechler  <maechler@stat.math.ethz.ch>
1653    
# Line 370  Line 1851 
1851  2005-08-26  Martin Maechler  <maechler@stat.math.ethz.ch>  2005-08-26  Martin Maechler  <maechler@stat.math.ethz.ch>
1852    
1853          * R/Matrix.R:  added first "[<-" methods; not yet functional          * R/Matrix.R:  added first "[<-" methods; not yet functional
1854          * R/denseMatrix.R: dito          * R/denseMatrix.R: ditto
1855          * man/Subassign-methods.Rd: new help file for these          * man/Subassign-methods.Rd: new help file for these
1856    
1857  2005-08-25  Martin Maechler  <maechler@stat.math.ethz.ch>  2005-08-25  Martin Maechler  <maechler@stat.math.ethz.ch>

Legend:
Removed from v.1298  
changed lines
  Added in v.2043

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