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

Legend:
Removed from v.1312  
changed lines
  Added in v.2036

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