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 848, Thu Aug 11 07:41:59 2005 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>
1428    
1429            * src/pedigree.c (pedigree_inbreeding): Correction in
1430            initialization.  This function is not currently being used and is
1431            not fully tested.
1432    
1433            * NAMESPACE, R/{AllClass.R,lmer.R}, src/{init.c,lmer.c}:
1434            Introduced the glmer class.  Added code for mcmcmsamp on glmer
1435            objects.  Modified validity check on pedigree objects to account
1436            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>
1446    
1447            * DESCRIPTION (Version): 0.995-11 released to CRAN
1448    
1449            * R/lmer.R (mcmcsamp method): Corrected arrangments of names on
1450            the output from mcmcsamp.
1451    
1452    2006-06-10  Douglas Bates  <bates@R-project.org>
1453    
1454            * R/lmer.R (simulestimate): added C code for calculating the trace
1455            of the hat matrix.
1456    
1457    2006-06-09  Martin Maechler  <maechler@stat.math.ethz.ch>
1458    
1459            * R/diagMatrix.R (setAs): define coercion methods to sparse matrix
1460            classes.
1461            * R/sparseMatrix.R etc: multiplication of diagonal and sparse
1462    
1463    2006-06-08  Martin Maechler  <maechler@stat.math.ethz.ch>
1464    
1465            * R/dgTMatrix.R (colSums): etc. All four of
1466            colSums(), rowSums(), colMeans(), rowMeans() now should work for
1467            all "Matrices".
1468    
1469    2006-06-01  Douglas Bates  <bates@stat.wisc.edu>
1470    
1471            * R/lmer.R (panel.ci): Add a reference line at zero and a
1472            background grid to the qqmath plot of ranef.lmer.
1473    
1474    2006-05-30  Douglas Bates  <bates@stat.wisc.edu>
1475    
1476            * R/lmer.R (expandSlash): Functions (non-exported) to allow nested
1477            grouping factors to be specified in the formula as (1|foo/bar).
1478    
1479    2006-05-27  Douglas Bates  <bates@stat.wisc.edu>
1480    
1481            * R/lmer.R (findbars and others): Change check of is.numeric to
1482            !is.language to resolve the bug reported by Jacob Wegelin.
1483    
1484            * src/pedigree.c (pedigree_inbreeding): Initial implementation of
1485            code to evaluate inbreeding coefficients without calculating T,
1486            based on code in Sargolzaei and Iwaisaki's paper.
1487    
1488    2006-05-27  Douglas Bates  <bates@stat.wisc.edu>
1489    
1490            * R/{lmer.R,AllGeneric.R}, src/{init.c,lmer.[ch]}: Added local
1491            generic and mer methods for isNested and denomDF. This denomDF was
1492            an attempt to emulate that in lme but I don't think that makes
1493            sense.  Use the trace of the hat matrix instead.
1494    
1495    2006-05-17  Martin Maechler  <maechler@stat.math.ethz.ch>
1496    
1497            * R/sparseMatrix.R: Matrix <-> graph methods: can no longer use
1498            the C code depending on a slot structure that's no longer valid.
1499            * src/dgTMatrix.c: ditto (also: src/init.c src/dgTMatrix.h)
1500    
1501    
1502    2006-05-17  Douglas Bates  <bates@stat.wisc.edu>
1503    
1504            *  R/{AllGeneric.R,Csparse.R},man/band.Rd,NAMESPACE: changed name
1505            of lowerTriMatrix generic and methods to tril (also upper to triu)
1506            and added a general band extractor.
1507    
1508    2006-05-16  Douglas Bates  <bates@stat.wisc.edu>
1509    
1510            * R/pedigree.R (pedigree): Replace sire and dam values outside the
1511            allowable range with NAs. Added a corresponding check in the
1512            validity check for the pedigree class.
1513    
1514            * R/[CT]sparse.R ([t]crossprod): The result of single-argument
1515            crossprod methods now inherits from symmetricMatrix.
1516    
1517    2006-05-15  Douglas Bates  <bates@stat.wisc.edu>
1518    
1519            * R/AllGeneric.R (lowerTriMatrix): Added (but did not export)
1520            generics lowerTriMatrix and upperTriMatrix along with methods for
1521            the Csparse virtual class.  Also added a C function Csparse_band
1522            that implements these methods by calling cholmod_band.
1523    
1524    2006-05-15  Martin Maechler  <maechler@stat.math.ethz.ch>
1525    
1526            * R/Tsparse.R ("["): column or row subsetting; @Dimnames[k] got
1527            erased when it was NULL.  This led to invalid subselections!
1528    
1529    2006-04-25  Douglas Bates  <bates@stat.wisc.edu>
1530    
1531            * R/dtCMatrix.R: avoid coercion of dtCMatrix object to dgCMatrix
1532            in method for "t" so as not to lose the unit diagonal property.
1533    
1534    2006-04-19  Douglas Bates  <bates@stat.wisc.edu>
1535    
1536            * R/lmer.R, R/AllGeneric.R, NAMESPACE: Remove the postVar generic
1537            and methods.  This is now an option to the ranef method for the
1538            mer class.
1539    
1540            * src/cs_utils.c: Ensure that the nz component is -1 for a
1541            compressed column-oriented matrix.  Minor formatting cleanup.
1542    
1543            * man/lmer-class.Rd: Document the qqmath method for ranef.lmer
1544            objects.
1545    
1546    2006-04-19  Martin Maechler  <maechler@stat.math.ethz.ch>
1547    
1548            * R/Auxiliaries.R (diagU2N): new for the solve() methods in
1549            * R/dtCMatrix.R: where dgC -> dgT coercion now preserves diag = "U".
1550    
1551    2006-04-15  Douglas Bates  <bates@stat.wisc.edu>
1552    
1553            * src/cs.[ch],src/cs_utils.[ch] : Added Tim Davis' CSparse library
1554            in cs.[ch] and utilities to interface to that code in cs_utils.[ch].
1555    
1556            * R/dtCMatrix.R, src/dtCMatrix.[ch] : CSparse-based solve methods
1557            for the dtCMatrix class.
1558    
1559    2006-04-12  Douglas Bates  <bates@stat.wisc.edu>
1560    
1561            * R/pedigree.R, R/AllClass.R, NAMESPACE: added a pedigree class
1562            and methods for it.
1563    
1564    2006-04-12  Martin Maechler  <maechler@stat.math.ethz.ch>
1565    
1566            * R/dgCMatrix.R: add  storage.mode(.) <- "double" for "matrix"
1567            arguments, such that M %*% 1:6 now works
1568            * Tests/matprod.R: test the above
1569    
1570    2006-04-03  Douglas Bates  <bates@stat.wisc.edu>
1571    
1572            * R/lmer.R (qqmath,ranef.lmer-method): added a qqmath method for
1573            the ranef.lmer class.
1574    
1575            * R/AllClass.R, NAMESPACE, R/lmer.R: Added a postVar generic and
1576            methods to extract the posterior variances from the bVar slot.
1577    
1578    2006-03-30  Martin Maechler  <maechler@stat.math.ethz.ch>
1579    
1580            * R/dtCMatrix.R: allow coercion from  dgC* to triangular (dtC*)
1581            * R/dsCMatrix.R: and symmetric (dsC*) 'Csparse' matrices.
1582    
1583            * R/Tsparse.R: Tsparse* -> Csparse* coercion now works and is tested in
1584            * tests/simple: (extended)
1585    
1586            * R/sparseMatrix.R (isTriangular): now using much improved
1587            * R/Auxiliaries.R (isTriC): new triangularity check for *CMatrix
1588    
1589    2006-03-23  Douglas Bates  <bates@stat.wisc.edu>
1590    
1591            * src/dsyMatrix.c (dsyMatrix_as_dspMatrix): Propagate DimNames
1592            (problem report from Franklin Parlamis).  This should be done
1593            generally.
1594    
1595    2006-03-21  Douglas Bates  <bates@stat.wisc.edu>
1596    
1597            * R/AllClass.R,lmer.R: Change the name of the lmer.ranef class to
1598            ranef.lmer (like summary.lmer).  Add the coef.lmer class and
1599            update the plot methods.
1600    
1601    2006-03-20  Douglas Bates  <bates@stat.wisc.edu>
1602    
1603            * R/lmer.R (resid and ranef methods):  Added methods for the
1604            "residuals" and "resid" generic but only for linear mixed model
1605            fits.  Changed the ranef method to return a list of data frames so
1606            that the plot methods now work.
1607    
1608    2006-03-16  Douglas Bates  <bates@bates2>
1609    
1610            * src/dpoMatrix.c (dpoMatrix_chol): Require n > 0 in call to
1611            dpotrf - otherwise the BLAS on Mac OS X complains and quits.
1612    
1613            * DESCRIPTION (Date): New release
1614    
1615    2006-03-15  Martin Maechler  <maechler@stat.math.ethz.ch>
1616    
1617            * DESCRIPTION (Version): 0.995-6  -- to be released to CRAN
1618    
1619            * data/KNex.rda: replacing 'mm' and 'y' by KNex <- list(mm=mm, y=y)
1620            * man/KNex.Rd: and other help files
1621            * tests/*.R: several ones needed adaption
1622            * inst/doc/Comparisons.Rnw: ditto
1623    
1624    2006-03-11  Martin Maechler  <maechler@stat.math.ethz.ch>
1625    
1626            * R/dgCMatrix.R (replCmat): "[<-" methods for dgCMatrix
1627    
1628            * tests/indexing.R: tests for new [<- methods for sparse matrices.
1629    
1630    2006-03-10  Martin Maechler  <maechler@stat.math.ethz.ch>
1631    
1632            * R/dgTMatrix.R (replTmat): "[<-" methods for dgTMatrix
1633    
1634            * R/Tsparse.R (.ind.prep): fix out-of-range indexing
1635    
1636    2006-03-08  Martin Maechler  <maechler@stat.math.ethz.ch>
1637    
1638            * R/dMatrix.R: enable things like  M [ M < 10 ]
1639            * R/dgeMatrix.R: implement it
1640    
1641    2006-03-06  Martin Maechler  <maechler@stat.math.ethz.ch>
1642    
1643            * R/AllClass.R: define "summary.mer" and "*.lmer"
1644            * R/lmer.R (summary): summary(<mer>) computes & returns the above;
1645            * R/lmer.R (show): now works with summary()
1646    
1647    2006-03-04  Martin Maechler  <maechler@stat.math.ethz.ch>
1648    
1649            * R/dgCMatrix.R: finally direct "Arith"  dgC o dgC
1650            * R/Auxiliaries.R (WhichintersectInd): and other utilities to
1651                    support the above
1652    
1653    2006-02-07  Douglas Bates  <bates@stat.wisc.edu>
1654    
1655            * R/lmer.R (lmer): fix initial values of offset and weights for glm.fit.
1656            Use glmFit$prior.weights for weights in a glmm.
1657            Allow an option usePQL = FALSE to skip the PQL steps for the
1658            Laplace method (and, in time, the AGQ method).
1659    
1660            * src/lmer.c (mer_factor): Move downdating and factoring of XtX
1661            into a separate function internal_mer_Xfactor to be able to call
1662            it from internal_bhat.
1663    
1664    2006-01-23  Martin Maechler  <maechler@stat.math.ethz.ch>
1665    
1666            * tests/Class+Meth.R (tstMatrixClass): function for much better
1667            testing; now again of all actual classes.
1668    
1669            * src/Mutils.c (MAKE_TRIANGULAR_BODY, MAKE_SYMMETRIC_BODY):
1670                    use macros and define make_d_matrix_* and make_i_matrix_*
1671                    where _i_ is for the ldense routines:
1672    
1673            * src/ldense.c (ltrMatrix_as_lgeMatrix): provide functions
1674            * src/ldense.c (lsyMatrix_as_lgeMatrix):
1675    
1676            * R/ldenseMatrix.R: use the above in setAs(*,"lgeMatrix")
1677    
1678    
1679    2006-01-16  Martin Maechler  <maechler@stat.math.ethz.ch>
1680    
1681            * R/Matrix.R (Matrix): has become much "smarter" now auto-producing
1682                    many different kinds of matrices.
1683            * R/*.R: quite a few new methods were needed for R CMD check with
1684                    new Matrix().  Very good for users playing around.
1685    
1686    
1687    2006-01-15  Martin Maechler  <maechler@stat.math.ethz.ch>
1688    
1689            * src/dgeMatrix.c (dMatrix_validate): new
1690            * src/Mutils.c (dense_nonpacked_validate): new
1691    
1692            * src/dtrMatrix.c (dtrMatrix_validate): improved/fixed
1693    
1694    
1695    2006-01-14  Douglas Bates  <bates@stat.wisc.edu>
1696    
1697            * R/AllClass.R (compMatrix), (generalMatrix): new virtual classes
1698    
1699    2006-01-07  Douglas Bates  <bates@stat.wisc.edu>
1700    
1701            * DESCRIPTION (Version): 0.99-6 released to CRAN
1702    
1703            * src/dgBCMatrix.c (cscb_trcbsm): Fix due to Peter Dalgaard for
1704            segfault in cases with multiple non-nested grouping factors.
1705    
1706    2006-01-03  Martin Maechler  <maechler@stat.math.ethz.ch>
1707    
1708            * DESCRIPTION (Version): 0.99-4 to be released to CRAN
1709                    (Depends): also on 'utils'
1710    
1711            * R/AllClass.R (diagonalMatrix): new class with "ddi*" and "ldi*"
1712            * R/diagMatrix.R (Diagonal): constructor and methods for
1713            diagonal matrices
1714    
1715            * R/ltTMatrix.R: new "minimal methods"
1716    
1717    2005-12-12  Martin Maechler  <maechler@stat.math.ethz.ch>
1718    
1719            * R/AllGeneric.R (tcrossprod): 2-argument version; here, and for
1720            all methods (and help files).
1721    
1722    2005-12-09  Martin Maechler  <maechler@stat.math.ethz.ch>
1723    
1724            * R/Auxiliaries.R (dimNamesCheck): fixed thinko -> bug
1725                    for case (dimn.  op  no_dimn.)
1726    
1727    2005-11-14  Douglas Bates  <bates@stat.wisc.edu>
1728    
1729            * DESCRIPTION (Version): 0.99-2  released to CRAN
1730    
1731    2005-10-21  Douglas Bates  <bates@stat.wisc.edu>
1732    
1733            * R/lmer.R (simulate method): Fixed a drop=FALSE problem reported
1734            by Julian Faraway.
1735    
1736    2005-10-06  Martin Maechler  <maechler@stat.math.ethz.ch>
1737    
1738            * R/Auxiliaries.R (try_as): new utility
1739            * R/sparseMatrix.R: use try_as() in coercion to original class
1740    
1741    2005-09-30  Martin Maechler  <maechler@stat.math.ethz.ch>
1742    
1743            * src/dgCMatrix.c (double_to_csc): and dgeMatrix_to_csc()
1744    
1745    2005-09-29  Martin Maechler  <maechler@stat.math.ethz.ch>
1746    
1747            * R/Auxiliaries.R (dimNamesCheck): added
1748    
1749            * R/Matrix.R (as.array), (as.vector): new
1750    
1751    2005-09-28  Martin Maechler  <maechler@stat.math.ethz.ch>
1752    
1753            * R/Matrix.R (Matrix): get logical argument 'sparse' with a smart
1754                    default.
1755            * R/AllClass.R: move 'factors' slot toplevel "Matrix";
1756                    "pMatrix" now contains "sparseMatrix"
1757    
1758    2005-09-26  Martin Maechler  <maechler@stat.math.ethz.ch>
1759    
1760            * tests/Class+Meth.R: new tests; t(t(m)) == m
1761    
1762            * src/dtCMatrix.c (tsc_transpose): add forgotten "diag" slot
1763    
1764            * src/dsTMatrix.c (dsTMatrix_as_dsCMatrix): bad typo (segfault!)
1765            * src/dtTMatrix.c (dtTMatrix_as_dtCMatrix): new
1766    
1767            * R/dspMatrix.R: typo in "t" method
1768    
1769    2005-09-18  Douglas Bates  <bates@wisc.edu>
1770    
1771            * R/AllClass.R (TsparseMatrix), CsparseM* and RsparseM*
1772            * R/Tsparse.R: instead of R/gTMatrix.R
1773            * R/Csparse.R: new
1774            * src/Tsparse.c (Tsparse_to_Csparse): new; -> cholmod_()
1775            * src/Tsparse.c: new; many trivial methods calling cholmod_()
1776            * src/Csparse.c (Csparse_to_Tsparse), transpose, (mat|cross)prod:
1777                            via cholmod
1778    
1779    2005-09-16  Martin Maechler  <maechler@stat.math.ethz.ch>
1780    
1781            * R/Auxiliaries.R (non0ind): new function using new C code
1782            * src/dgCMatrix.c (compressed_non_0_ij): new utility
1783    
1784    2005-09-15  Douglas Bates  <bates@localhost.localdomain>
1785    
1786            * src/chm_common.h: header file required by all C sources that
1787            call CHOLMOD functions.  It defines a cholmod_common structure
1788            called 'c' whose address is passed as the last argument to
1789            (virtually) every CHOLMOD function.
1790    
1791            * src/Pattern.c: Simple example of the use of CHOLMOD.
1792    
1793            * src/init.c: initialize and finalize the cholmod_common structure.
1794    
1795            * src/Makefile: Added source packages CHOLMOD UMFPACK AMD COLAMD
1796            LDL and CCOLAMD from the U. of Florida sparse matrix library.
1797    
1798    2005-09-08  Martin Maechler  <maechler@stat.math.ethz.ch>
1799    
1800            * inst/test-tools.R: new file collecting the utility functions used
1801                    in ./tests/*.R
1802    
1803            * R/ddenseMatrix.R (cbind2): new methods for "numeric" and "matrix"
1804            * R/Matrix.R (cbind2): methods for NULL and missing
1805    
1806    2005-08-31  Martin Maechler  <maechler@stat.math.ethz.ch>
1807    
1808            * R/AllClass.R: new "index" class for "[" and "[<-":
1809                    First cut at "symmetricMatrix" and "triangularMatrix"
1810            * R/gTMatrix.R (.ind.prep): new function;
1811                    Logical and character indexing now work too.
1812            * R/Matrix.R: cheap "[<-" methods for denseMatrix now work
1813            * tests/indexing.R: new, including *.Rout.save
1814            * tests/dgTMatrix.R: new
1815    
1816    2005-08-29  Douglas Bates  <bates@wisc.edu>
1817    
1818            * src/dgTMatrix.c (graphNEL_as_dgTMatrix): Corrected the position
1819            indicator pos not being updated.  Also enforced upper triangular
1820            for symmetric case.  Need to coerce edges component of elements of
1821            edge list - grr! (Why don't they define their classes cleanly?)
1822    
1823    2005-08-26  Martin Maechler  <maechler@stat.math.ethz.ch>
1824    
1825            * R/Matrix.R:  added first "[<-" methods; not yet functional
1826            * R/denseMatrix.R: ditto
1827            * man/Subassign-methods.Rd: new help file for these
1828    
1829    2005-08-25  Martin Maechler  <maechler@stat.math.ethz.ch>
1830    
1831            * DESCRIPTION (Version): 0.98-6
1832    
1833            * R/denseMatrix.R: new file for "[" fallback methods for all dense
1834            matrices.
1835    
1836    2005-08-19  Martin Maechler  <maechler@stat.math.ethz.ch>
1837    
1838            * src/lgCMatrix.c (lcsc_to_matrix): new; need for
1839                    as( <logical>, "matrix")
1840    
1841            * R/pMatrix.R: coercion to "lgTMatrix"
1842    
1843            * R/gTMatrix.R: new virtual class to define "[" methods for.
1844            * man/gTMatrix-class.Rd:
1845            * General slight re-organization of where "[" methods are defined.
1846              more to come.
1847    
1848    2005-08-18  Douglas Bates  <bates@wisc.edu>
1849    
1850            * DESCRIPTION (Version): 0.98-5  released to CRAN
1851    
1852            * src/dgTMatrix.c (graphNEL_as_dgTMatrix): add first graphNEL methods
1853            * .....
1854    
1855    2005-08-18  Douglas Bates  <bates@localhost.localdomain>
1856    
1857            * R/lmer.R: Corrected naming scheme in mcmcsamp to work with lmer
1858            or glmer objects.
1859    
1860    2005-08-17  Martin Maechler  <maechler@stat.math.ethz.ch>
1861    
1862            * DESCRIPTION (Version): 0.98-4 : upload to CRAN
1863    
1864    2005-08-16  Douglas Bates  <bates@localhost.localdomain>
1865    
1866            * R/HBMM.R: finish re-writing R-only code.
1867    
1868    2005-08-15  Douglas Bates  <bates@localhost.localdomain>
1869    
1870            * man/externalFormats.Rd: move documentation for writeHB and
1871            writeMM here.
1872    
1873            * src/mmio.c: replace inclusion of <malloc.h> by <stdlib.h>
1874            (suggested by Paul Roecker).
1875    
1876            * tests/validObj.R (assertError): Comment out test that is failing
1877            after recent changes in r-devel.
1878    
1879    
1880  2005-08-11  Martin Maechler  <maechler@stat.math.ethz.ch>  2005-08-11  Martin Maechler  <maechler@stat.math.ethz.ch>
1881    
1882          * R/AllClass.R: intermediate virtual class "denseMatrix"          * R/AllClass.R: intermediate virtual class "denseMatrix"

Legend:
Removed from v.848  
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