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 350, Tue Nov 23 15:39:45 2004 UTC revision 2061, Sat Sep 1 20:37:11 2007 UTC
# Line 1  Line 1 
1  2004-11-16  Douglas Bates  <bates@bates1-home>  2007-08-30  Martin Maechler  <maechler@stat.math.ethz.ch>
2    
3            * src/Mutils.h (__sun): clause for alloca.h on Solaris
4    
5    2007-08-16  Martin Maechler  <maechler@stat.math.ethz.ch>
6    
7            * DESCRIPTION (Date, Version): 0.999375-2
8    
9    2007-08-15  Martin Maechler  <maechler@stat.math.ethz.ch>
10    
11            * R/HBMM.R (readMM): make work for pattern matrices as well
12    
13    2007-08-14 13:07  Douglas Bates <bates@stat.wisc.edu>
14    
15            * [r4730] src/Mutils.h: declare alloca
16            * [r4734] NAMESPACE, R/AllGeneric.R, R/Csparse.R, R/HBMM.R, R/Tsparse.R,
17              R/dgCMatrix.R, R/dgTMatrix.R, R/dsCMatrix.R, R/dsTMatrix.R,
18              man/externalFormats.Rd, src/Csparse.c, src/Csparse.h, src/DEPS.mkf,
19              src/HBMM.c, src/HBMM.h, src/Mutils.h, src/SOURCES_C.mkf, src/init.c,
20              src/mmio.c, src/mmio.h: Remove deprecated function writeHB and its
21              methods; switch writeMM to use CHOLMOD code; repair readMM
22    
23    2007-08-14  Martin Maechler  <maechler@stat.math.ethz.ch>
24    
25            * R/nearPD.R, man/nearPD.Rd (nearPD): new function built on Jens
26            Oehlschlaegel's ... result type still to be discussed!
27    
28    2007-08-10  Martin Maechler  <maechler@stat.math.ethz.ch>
29    
30            * man/image-methods.Rd: new, combining all image() methods
31    
32    2007-08-09  Martin Maechler  <maechler@stat.math.ethz.ch>
33    
34            * R/dgCMatrix.R: define qr() and lu() methods for "sparseMatrix"
35            to work via dgC...
36    
37            * R/Matrix.R (Matrix): special treatment for "table" (S3)
38    
39    2007-08-07  Martin Maechler  <maechler@stat.math.ethz.ch>
40    
41            * R/dgTMatrix.R (image): change defaults to
42                    aspect = "iso", colorkey = FALSE
43    
44    2007-08-06  Martin Maechler  <maechler@stat.math.ethz.ch>
45    
46            * src/dsyMatrix.c (dsyMatrix_matrix_mm): 'b' might be matrix;
47            must copy its *expanded* x slot before LAPACK call.
48    
49            * tests/matprod.R: test the last days' changes.
50    
51    2007-08-06 16:43  Douglas Bates <bates@stat.wisc.edu>
52    
53            * [r4712] inst/include/Matrix_stubs.c: Change R_cholmod_printf in stubs
54              as well as in sources
55            * [r4713] src/dsyMatrix.c: Duplicate the contents of the RHS before
56              Lapack call
57    
58    2007-08-03  Martin Maechler  <maechler@stat.math.ethz.ch>
59    
60            * R/Matrix.R (%*%, crossprod, tcrossprod): add method for
61                    ("Matrix", "matrix") which is needed in some cases.
62            Ditto for solve().
63    
64            * R/colSums.R (.as.dge.Fun): need ddenseMatrix methods to avoid
65            infinite recursion in dispatch for some cases.
66    
67    2007-08-02 08:48  Martin Maechler <maechler@stat.math.ethz.ch>
68    
69            * [r4693] src/chm_common.c: R_cholmod_printf() instead of Rprintf() just
70              so pointers match
71    
72    2007-08-02  Martin Maechler  <maechler@stat.math.ethz.ch>
73    
74            * DESCRIPTION (Date): set ready for release -- 0.999375-1
75    
76    2007-08-01 15:44  Douglas Bates <bates@stat.wisc.edu>
77    
78            * [r4686] inst/include/Matrix.h, inst/include/Matrix_stubs.c,
79              src/chm_common.c, src/chm_common.h: Change API for
80              numeric_as_chm_dense and N_AS_CHM_DN
81    
82    2007-08-01  Martin Maechler  <maechler@stat.math.ethz.ch>
83    
84            * src/dtrMatrix.c (dtrMatrix_matrix_mm): fix dimensionality check (!)
85            * tests/matprod.R: regr.test for it
86    
87    2007-07-20  Martin Maechler  <maechler@stat.math.ethz.ch>
88    
89            * R/dMatrix.R: fix from Brian for   Math2(., digits = "missing")
90            * tests/group-methods.R: and regression-test it
91    
92    2007-07-19 19:45  Douglas Bates <bates@stat.wisc.edu>
93    
94            * [r4642] inst/include/Matrix.h, inst/include/Matrix_stubs.c,
95              inst/include/cholmod.h, src/chm_common.c, src/init.c: Export
96              triplet_to_sparse, documentation, use typedefs
97    
98    2007-07-18  Martin Maechler  <maechler@stat.math.ethz.ch>
99    
100            * man/dpoMatrix-class.Rd: added 'corMatrix' example
101    
102            * src/dsyMatrix.[ch] (dsyMatrix_as_matrix): new 'keep_dimnames' arg
103            * src/dtrMatrix.[ch] (dtrMatrix_as_matrix): ditto
104            * src/init.c, R/dsyMatrix.R, R/dtrMatrix.R, R/lgTMatrix.R: ditto
105    
106            * R/lsparseMatrix.R: bug fix in "all" method
107            * R/Ops.R (.do.Logic.lsparse): "|" bug in borderline case
108    
109            * R/dsyMatrix.R (coerce->dsTMatrix): (i,j) slots should *not* have names
110            * R/ngTMatrix.R (coerce->ngTMatrix): ditto;
111                    + matrix |-> nMatrix coercion
112            * R/pMatrix.R: + setAs()  to dMatrix and from nMatrix
113            * man/pMatrix-class.Rd: ditto
114    
115            * R/Matrix.R (Summary): method for non-dMatrix
116    
117            * tests/Class+Meth.R (extraValid): new check about "dirty" slots
118            * tests/Class+Meth.R (tstMatrixClass): test norm(.);
119                    test all Summary methods.
120    
121    2007-07-16  Martin Maechler  <maechler@stat.math.ethz.ch>
122    
123            * R/dgeMatrix.R (norm, rcond): methods for 'matrix'
124    
125    2007-07-14  Martin Maechler  <maechler@stat.math.ethz.ch>
126    
127            * R/sparseMatrix.R (norm): simple methods for sparseMatrix
128    
129            * R/pMatrix.R (t?crossprod): methods for pMatrix
130    
131    2007-07-10  Douglas Bates  <bates@stat.wisc.edu>
132    
133            * src/dgeMatrix.c (dgeMatrix_colsums): Get the logic straight.
134    
135    2007-07-09 20:45  Douglas Bates <bates@stat.wisc.edu>
136    
137            * [r4579] src/dgeMatrix.c: Untangle horrible code in dgeMatrix_colsums
138              trying to fix a subtle bug - which has been somewhere else.
139    
140    2007-07-09 19:43  Martin Maechler <maechler@stat.math.ethz.ch>
141    
142            * [r4578] src/dgeMatrix.c: "cleaned" dgeMatrix_colsums() - but did not
143              solve the bug
144    
145    2007-07-08  Martin Maechler  <maechler@stat.math.ethz.ch>
146    
147            * src/dgCMatrix.c (compressed_to_TMatrix):
148    
149    2007-07-07  Martin Maechler  <maechler@stat.math.ethz.ch>
150    
151            * src/Csparse.c (Rsparse_validate): new, to have some validity
152            checking for RsparseMatrix
153            * src/dgCMatrix.c (xRMatrix_validate): ditto
154            * src/dtCMatrix.c (tRMatrix_validate): ditto
155    
156    2007-07-07  Douglas Bates <bates@stat.wisc.edu>
157    
158            * [r4567] R/AllClass.R: Slots already in RsparseMatrix were redefined in
159              lgRMatrix
160            * [r4568] DESCRIPTION: Prepare for bug-fix release
161            * [r4570] src/CHOLMOD/Check/cholmod_write.c: Include cholmod_matrixops.h
162              for declaration of cholmod_symmetry
163    
164    2007-07-06  Martin Maechler  <maechler@stat.math.ethz.ch>
165    
166            * DESCRIPTION (Version): 0.999375 merged into the trunk; ready for
167            release.
168    
169    2007-07-06 14:11  Douglas Bates <bates@stat.wisc.edu>
170    
171            * [r4559] src/iohb.c, src/iohb.h: Remove Harwell-Boeing input/output
172              functions - no longer used
173            * [r4560] src/HBMM.c, src/Mutils.c, src/dgTMatrix.c, src/dgeMatrix.c,
174              src/dspMatrix.c, src/dsyMatrix.c, src/dtCMatrix.c,
175              src/factorizations.c, src/sparseQR.c: Replace most calls to Calloc by
176              Alloca
177    
178    2007-07-06 13:14  Martin Maechler <maechler@stat.math.ethz.ch>
179    
180            * [r4558] inst/doc/Comparisons.Rnw, src/CHMfactor.c, src/Csparse.c,
181              src/Tsparse.c, src/chm_common.c, src/chm_common.h, src/dense.c,
182              src/dgCMatrix.c, src/dsCMatrix.c, src/dtTMatrix.c, src/sparseQR.c,
183              src/t_gCMatrix_colSums.c: more R_CheckStack()s
184    
185    2007-07-05 18:12  Douglas Bates <bates@stat.wisc.edu>
186    
187            * [r4550] inst/include/Matrix.h: Add the macro N_AS_CHM_DN to "alloca"
188              the required amount of memory then call M_numeric_as_chm_dense.
189            * [r4556] src/Mutils.h, src/dgCMatrix.c: Define and use the Alloca macro
190              (like Calloc but calling alloca)
191    
192    2007-07-05  Martin Maechler  <maechler@stat.math.ethz.ch>
193    
194            * R/sparseMatrix.R (printSpMatrix): renamed from prSpMatrix()
195            and extended with more sophisticated 'col.names' option.
196            * NAMESPACE: export  printSparseMatrix()
197            * man/printSpMatrix.Rd: document, incl. examples
198    
199    2007-07-04 16:21  Douglas Bates <bates@stat.wisc.edu>
200    
201            * [r4543] src/cs_utils.c, src/cs_utils.h, src/dgCMatrix.c,
202              src/dtCMatrix.c, src/sparseQR.c: CSP typedef for *cs and macro
203              AS_CSP. API change - pass the empty structure to Matrix_as_cs.
204    
205    2007-07-04  Martin Maechler  <maechler@stat.math.ethz.ch>
206    
207            * DESCRIPTION (Version): 0.99875-4
208    
209            * tests/Class+Meth.R (tstMatrixClass): add dimnames, and hence test
210            some dimnames perservation.
211    
212            * R/dsTMatrix.R (t-method): keep dimnames
213            * R/dtTMatrix.R:  ditto
214    
215            * R/sparseMatrix.R (prSpMatrix): print colnames when non-trivial
216            and ncol(.) < 10
217    
218            * src/cs_utils.c: drop check_class() and use Matrix_check_class()
219            from Mutils.h
220    
221            * src/lgCMatrix.c ([ln]csc_to_matrix): no longer lose dimnames,
222            e.g. in as(<ngCMatrix>, "matrix")
223    
224    2007-07-01 13:27  Douglas Bates <bates@stat.wisc.edu>
225    
226            * [r4529] .: Create a branch for the API changes from the 0.99875
227              series to the 0.999375 series
228            * [r4530] DESCRIPTION, inst/include/Matrix.h,
229              inst/include/Matrix_stubs.c, src/CHMfactor.c, src/Csparse.c,
230              src/Mutils.h, src/Tsparse.c, src/chm_common.c, src/chm_common.h,
231              src/dense.c, src/dgCMatrix.c, src/dsCMatrix.c, src/dtTMatrix.c,
232              src/t_gCMatrix_colSums.c: API change - pass the empty structure to the
233              as_cholmod_x functions
234    
235    2007-06-30 09:05  Martin Maechler <maechler@stat.math.ethz.ch>
236    
237            * [r4527] trunk/Matrix/DESCRIPTION, trunk/Matrix/NAMESPACE,
238              trunk/Matrix/inst/doc/Comparisons.Rnw: add session- and hardware-info
239              to Comparisons
240    
241    >>>>>>> .merge-right.r4561
242    2007-06-29  Martin Maechler  <maechler@stat.math.ethz.ch>
243    
244            * DESCRIPTION (Version): 0.99875-3 ready to be released.
245    
246            * R/sparseMatrix.R (spMatrix): make spMatrix(3,4) working
247    
248            * R/AllGeneric.R: set "Math" (and "Math2") group generics in a way
249            that should also work in a future version of R.
250    
251    2007-06-21  Martin Maechler  <maechler@stat.math.ethz.ch>
252    
253            * NAMESPACE, R/AllClass.R: "xsparseVector" class union.
254    
255            * R/sparseVector.R: more *sparseVector coercions, notably for
256            non - double ones.
257    
258    2007-06-19  Martin Maechler  <maechler@stat.math.ethz.ch>
259    
260            * R/colSums.R: new file for all (col|row)(Sums|Means) methods,
261              notably the new ones building on the new .Call(.)s:
262    
263            * src/dgCMatrix.c (DEF_gCMatrix_COLSUMS): use to define
264            all 4 of [dlin]gCMatrix_colSums().
265    
266    2007-06-18 16:12  Douglas Bates <bates@stat.wisc.edu>
267    
268            * [r4472] src/Syms.h, src/init.c: Added Matrix_lengthSym
269            * [r4473] src/dgCMatrix.c: Modified dgCMatrix_colSums for sparseVector
270              result
271    
272    2007-06-16  Martin Maechler  <maechler@stat.math.ethz.ch>
273    
274            * R/kronecker.R: fix typo (could lead to inf.recursion)
275            * test/simple.R: testing that
276    
277            * R/sparseMatrix.R (prSpMatrix): change to be used as print()
278            method as well (which can have arguments, show() can't).
279    
280    2007-06-16 15:52  Douglas Bates <bates@stat.wisc.edu>
281    
282            * [r4466] R/dgCMatrix.R, src/dgCMatrix.c, src/dgCMatrix.h, src/init.c:
283              added dgCMatrix_colSums for [col,row][Sums,Means]
284    
285    2007-06-15 23:15  Douglas Bates <bates@stat.wisc.edu>
286    
287            * [r4460] R/sparseMatrix.R, man/dgCMatrix-class.Rd, src/dgCMatrix.c,
288              src/dgCMatrix.h, src/init.c: added lm.fit.sparse (unexported),
289              coercion of "factor" to "dgCMatrix" and dgCMatrix_cholsol
290            * [r4461] R/AllClass.R, man/sparseMatrix-class.Rd: draft "indicators"
291              class
292            * [r4463] R/sparseMatrix.R, man/dgCMatrix-class.Rd,
293              man/sparseMatrix-class.Rd: Don't need an "indicators" class - use the
294              row names to store the levels - duh!  Added an example.
295    
296    2007-06-14  Martin Maechler  <maechler@stat.math.ethz.ch>
297    
298            * src/Csparse.c (Csparse_validate): check for *repeated* entries
299            thanks to example from Christian Buchta; with a test here:
300            * tests/simple.R:
301    
302    2007-06-07  Martin Maechler  <maechler@stat.math.ethz.ch>
303    
304            * R/Auxiliaries.R (callGeneric): another fix, needed for some cases
305            of colSums(*, sparseResult = TRUE)
306    
307    2007-06-06  Martin Maechler  <maechler@stat.math.ethz.ch>
308    
309            * R/lsparseMatrix.R, R/ldenseMatrix.R (all, any): change default to
310            'na.rm = FALSE' as "everywhere" else in R.
311    
312    2007-06-05 Douglas Bates <bates@stat.wisc.edu>
313    
314            * [r4421] src/CSparse_install.sh: Modify for new organization of
315              CSparse package
316            * [r4425] src/UFsparse_download.sh: Update to version 3.0.0 of
317              SuiteSparse
318            * [r4426] src/Makefile: add ./UFconfig to the include path for
319              compilation
320            * [r4427] src/cs.[ch]: update to CSparse version 2.2.0
321            * [r4428] inst/doc/UFsparse/* src/{AMD,CHOLMOD,COLAMD}/*
322              src/UFconfig/UFconfig.h: Update to version 3.0.0 of SuiteSparse
323    
324    2007-06-05  Martin Maechler  <maechler@stat.math.ethz.ch>
325    
326            * R/Auxiliaries.R (emptyColnames): + argument msg.if.not.empty, used in
327            * R/sparseMatrix.R (prSpMatrix): now gives a message about
328            suppressed column names.
329    
330    2007-06-04 17:13  Douglas Bates <bates@stat.wisc.edu>
331    
332            * [r4418] src/Csparse.c, src/HBMM.c, src/Mutils.c, src/Mutils.h,
333              src/Tsparse.c, src/chm_common.c, src/chm_common.h, src/dgCMatrix.c,
334              src/dgeMatrix.c, src/dpoMatrix.c, src/dpoMatrix.h, src/dppMatrix.c,
335              src/dppMatrix.h, src/dsCMatrix.c, src/dspMatrix.c, src/dspMatrix.h,
336              src/dsyMatrix.c, src/dsyMatrix.h, src/dtpMatrix.c, src/dtrMatrix.c:
337              Remove warnings after change to const char* CHAR
338    
339    2007-06-04 17:11  Douglas Bates <bates@stat.wisc.edu>
340    
341            * [r4417] inst/include/Matrix_stubs.c, inst/include/cholmod.h: Corrected
342              type of M_cholmod_ssmult
343    
344    2007-06-03 14:42  Douglas Bates <bates@stat.wisc.edu>
345    
346            * [r4412] inst/include/Matrix_stubs.c, inst/include/cholmod.h,
347              src/init.c: Yet another cholmod export - cholmod_ssmult
348    
349    2007-05-23  Martin Maechler  <maechler@stat.math.ethz.ch>
350    
351            * NAMESPACE: exported drop0(), since
352            * man/drop0.Rd: I have seen several cases, I really wanted to use
353            it, so our users may want too.
354    
355    2007-05-22  Martin Maechler  <maechler@stat.math.ethz.ch>
356    
357            * man/colSums.Rd: separately document colSums() etc, since these
358            have the extra argument 'sparseResult'.
359    
360    2007-05-21  Martin Maechler  <maechler@stat.math.ethz.ch>
361    
362            * R/sparseMatrix.R (spMatrix): utility (T)sparse Matrix constructor;
363            * man/spMatrix.Rd: docu., including examples
364    
365            * R/Auxiliaries.R (sp.colMeans): etc, using a patched callGeneric(),
366            in order to make colMeans() etc fast *and* correct.
367            * R/sparseVector.R (replSPvec): "[<-" functionality for
368            sparseVectors; tested in
369            * tests/simple.R:
370    
371    2007-05-19  Martin Maechler  <maechler@stat.math.ethz.ch>
372    
373            * R/sparseMatrix.R (print.sparseSummary): and summary() method for
374            (very) sparse Matrices; output similar to Matlab's print().
375    
376    2007-05-17  Douglas Bates  <bates@stat.wisc.edu>
377    
378            * src/HBMM.c (Matrix_writeMatrixMarket): Write 1-based, not
379            0-based, indices (Jose Quesada <quesada@gmail.com>).
380    
381    2007-05-16  Douglas Bates  <bates@stat.wisc.edu>
382    
383            * R/CHMfactor.R: Added solve methods for a CHMfactor object.
384    
385    2007-05-16  Martin Maechler  <maechler@stat.math.ethz.ch>
386    
387            * R/Auxiliaries.R (sparsapply): new utility, much faster than
388            tapply1() for large sparse matrices.
389    
390    2007-05-15  Martin Maechler  <maechler@stat.math.ethz.ch>
391    
392            * R/Matrix.R (dim<-): reshape now via sparseVector.
393    
394            * R/sparseVector.R: methods and function for
395            * R/AllClass.R: new "sparseVector" class and daughters.
396            * NAMESPACE: export new classes
397    
398    2007-05-14  Martin Maechler  <maechler@stat.math.ethz.ch>
399    
400            * DESCRIPTION (Version): 0.99875-1
401            * src/Makefile.win: also remove Lapack code from here (cf. 04-25).
402    
403    2007-05-11  Martin Maechler  <maechler@stat.math.ethz.ch>
404    
405            * R/Tsparse.R ([, Tsparse): fix last case: *duplicated*, symmetric
406            indexing
407            * tests/indexing.R: test set for that.
408    
409    2007-05-08  Martin Maechler  <maechler@stat.math.ethz.ch>
410    
411            * R/Tsparse.R (replTmat): fix the case of *duplicated* index
412            entries.
413            * tests/indexing.R(out): add regression test for it
414    
415    2007-04-30  Martin Maechler  <maechler@stat.math.ethz.ch>
416    
417            * R/(l(dense|sparse))?Matrix.R (!): use 'x', not 'e1' as argument
418            name for "!" method definitions.
419    
420    2007-04-26  Martin Maechler  <maechler@stat.math.ethz.ch>
421    
422            * R/Tsparse.R (intI): new utility, used for "[" :
423                    Cleanup up there, and fixes for duplicated indices - more TODO!
424    
425            * tests/indexing.R(out): more tests
426    
427    2007-04-25  Douglas Bates  <bates@stat.wisc.edu>
428    
429            * DESCRIPTION,src/Makefile: require R>= 2.5.0 and remove Lapack
430            code that is now part of the R Lapack library.
431    
432            * src/init.c,inst/include/{Matrix_stubs.c,cholmod.h}:export
433            cholmod_factorize_p (used in lme4 for GLMMs and NLMMs).
434    
435    2007-04-21  Martin Maechler  <maechler@stat.math.ethz.ch>
436    
437            * R/Matrix.R (image): method for all Matrices, not just sparse ones.
438    
439    2007-04-17  Martin Maechler  <maechler@stat.math.ethz.ch>
440    
441            * R/Auxiliaries.R (tapply1): unname(.) -> colSums() etc don't end
442            up with extraneous names '0'...'<n-1>'
443    
444    2007-04-12  Martin Maechler  <maechler@stat.math.ethz.ch>
445    
446            * R/dgTMatrix.R (mat2dgT): care about NAs
447    
448    2007-04-11  Martin Maechler  <maechler@stat.math.ethz.ch>
449    
450            * R/kronecker.R: triangularity preserving methods
451    
452    2007-03-27  Martin Maechler  <maechler@stat.math.ethz.ch>
453    
454            * R/kronecker.R: new file collecting kronecker() methods in one
455                    place.  Goal: become much faster!
456    
457    2007-03-23  Martin Maechler  <maechler@stat.math.ethz.ch>
458    
459            * src/dtCMatrix.c (dtCMatrix_solve): use the new code from Kasper
460            Kristensen based cs_spsolve() instead of _lsolve & _usolve which
461            can be much faster.
462    
463            * tests/matprod.R: add regression tests for these (upper & lower).
464    
465    2007-03-19  Martin Maechler  <maechler@stat.math.ethz.ch>
466    
467            * R/Matrix.R (diff): method for our Matrices.
468    
469            * R/sparseMatrix.R (isDiagonal): check dim()!
470    
471    2007-03-17  Martin Maechler  <maechler@stat.math.ethz.ch>
472    
473            * R/Matrix.R (dim<-): new method for "reshape()" built on a
474            proposal from Tamas Papp.
475    
476    2007-03-16  Martin Maechler  <maechler@stat.math.ethz.ch>
477    
478            * R/AllGeneric.R: remove all  if(!isGeneric(.))  clauses
479    
480            * R/zzz.R (.onLoad, .onUnload): do *not* leave bind_activation(TRUE);
481            rather define and export  cBind() and rBind() only.
482            --> useRs *must* change code that used to have cbind()/rbind() !!
483    
484            * R/bind.R: change tests from cbind() to cBind() and similarly to rBind()
485            * R/bind.Rout.save: ditto
486    
487    2007-02-16  Douglas Bates  <bates@r-project.org>
488    
489            * DESCRIPTION (Date, Version): 0.9975-11 with new date
490            * src/dgCMatrix.c (R_to_CMatrix, compressed_to_TMatrix): remove
491            const modifier on declaration of the array 'valid'
492    
493    2007-02-12  Douglas Bates  <bates@stat.wisc.edu>
494    
495            * R/CHMfactor.R: Add image method (coercion to sparseMatrix).
496    
497    2007-02-05  Martin Maechler  <maechler@stat.math.ethz.ch>
498    
499            * DESCRIPTION (Date, Version): 0.9975-10 with new date.
500    
501            * R/Ops.R (Arith): make sure Csparse o Csparse also works for e.g. ntCMatrix
502            * tests/simple.R: test the above and some of these coercions:
503    
504            * R/nsparseMatrix.R: coercing "Csparse" to "lsparseMatrix";
505                    be careful to avoid infinite recursion, using new coercions in
506            * R/ngCMatrix.R and nsC... and ntC...
507            * R/lsparseMatrix.R: ditto
508    
509            * R/SparseM-conv.R: more conversion, notably for triplet matrices.
510    
511            * src/dgCMatrix.c (R_to_C_Matrix): port Doug's fix and
512            * R/Rsparse.R: reactivate .Call()s
513    
514            * tests/Class+Meth.R: a bit more on actual classes
515    
516    2007-02-04  Douglas Bates  <bates@stat.wisc.edu>
517    
518            * src/dgCMatrix.c (compressed_to_TMatrix): fix memory bug using strdup()
519    
520    2007-02-03  Martin Maechler  <maechler@stat.math.ethz.ch>
521    
522            * DESCRIPTION (Version): 0.9975-10 to upload
523    
524            * tests/Class+Meth.R (tstMatrixClass): require coercions to
525            specific classes less unconditionally.
526    
527            * R/Auxiliaries.R: get rid of as_Tsparse() and as_Rsparse()
528    
529            * R/Tsparse.R (triu): etc, use as(*, "TsparseMatrix") instead of as_Tsparse()
530    
531            * R/Rsparse.R (.R.2.T): R-level workaround using compressed_to_TMatrix.
532            * R/Rsparse.R (.R.2.C): R-level workaround since C-level
533            R_to_CMatrix segfaults on one platform.
534            Eliminate most coercion method to *specific* classes, and replace
535            with virtual classes coercions.
536    
537    
538    2007-02-01  Martin Maechler <maechler@stat.math.ethz.ch>
539    
540            * src/init.c: export the CHM...._validate() placeholders, since
541            they *are* called.
542    
543            * tests/Class+Meth.R (classCanCoerce): and starting to test
544            all as(<from>, <to>)
545    
546    2007-01-30  Martin Maechler  <maechler@stat.math.ethz.ch>
547    
548            * R/Tsparse.R ([): more care when subsetting triangular Tsparse
549            * tests/indexing.R: tested now
550            * tests/indexing.Rout.save: updated
551    
552            * src/Csparse.c (Csparse_to_dense): use Rkind = -1 for PATTERN to
553            * src/chm_common.c (chm_dense_to_SEXP): return "ngeMatrix" when
554            appropriate.
555    
556            * NAMESPACE: export a trivial
557            * R/Matrix.R: drop() Matrix-method
558    
559            * R/AllClass.R: moved all prototypes to virtual super classes.
560    
561            * R/Rsparse.R: many more coercions to have less exceptions in
562            * tests/Class+Meth.R:
563    
564            * R/Ops.R (Compare): tweak for case with NA
565            * tests/simpl.R: hence another 'FIXME' eliminated
566    
567    2007-01-29  Martin Maechler  <maechler@stat.math.ethz.ch>
568    
569            * R/diagMatrix.R (solve): the obvious methods for diagonalMatrix
570            objects.
571    
572            * tests/Class+Meth.R (tstMatrixClass): now testing diag(), nnzero(),
573              and more of "!", "&", "|", all, any; coercions
574    
575            * R/Rsparse.R: many coercions (which enable quite a few other
576            methods), thanks to enhancements in
577            * src/dgCMatrix.c (R_to_CMatrix): new, and
578            * src/dgCMatrix.c (compressed_to_TMatrix): now for (d,l,n) ,
579            symmetric & triangular and ..RMatrix objects.
580    
581            * src/TMatrix_as.c (Matrix_T_as_DENSE,Matrix_T_as_GENERAL):
582            renamed file from src/dsTMatrix.c;
583            now dealing with symmetric and triangular Tsparse coercions, both
584            to dense and general.
585    
586    2007-01-27  Martin Maechler  <maechler@stat.math.ethz.ch>
587    
588            * src/dsTMatrix.c: has now "l" and "n" methods besides the "d" ones.
589    
590            * R/Ops.R (Arith): <dgCMatrix> o <numeric> now remains sparse
591            where sensible when the <numeric> is of length > 1.
592    
593    2007-01-26  Martin Maechler  <maechler@stat.math.ethz.ch>
594    
595            * R/Matrix.R ([<-): for M[] <- value: fix length
596    
597    2007-01-25  Martin Maechler  <maechler@stat.math.ethz.ch>
598    
599            * R/Auxiliaries.R (n2l_Matrix): new, to be used in
600            * R/ndenseMatrix.R: new coercions n* -> l*
601    
602    2007-01-22  Martin Maechler  <maechler@stat.math.ethz.ch>
603    
604            * R/triangularMatrix.R: new file; simple triu() and tril() methods.
605    
606            * R/Ops.R ("Logic"): and other "Ops", many updates
607    
608    2007-01-18  Martin Maechler  <maechler@stat.math.ethz.ch>
609    
610            * src/Mutils.h (SET_DimNames): new utility
611    
612            * R/Auxiliaries.R (nnzero): improved and now exported via
613    
614            * NAMESPACE: + nnzero(); length() == prod(dim(.)) method for all "Matrix" objects
615    
616    2007-01-17  Martin Maechler  <maechler@stat.math.ethz.ch>
617    
618            * R/diagMatrix.R (!): fix typo.
619    
620    2007-01-16  Martin Maechler  <maechler@stat.math.ethz.ch>
621    
622            * R/Auxiliaries.R (as_Csparse): and quite a few others:
623                    allow to pass class definition --> speedup
624            * R/sparseMatrix.R: apply the above
625    
626            * R/Csparse.R: coercion Csparse* to dense* now preserves shape properties.
627    
628            * src/Mutils.h (mMatrix_as_geMatrix): new, based on
629            * src/Mutils.c (dup_mMatrix_as_geMatrix): new; generalization of
630            old dup_mMatrix_as_dgeMatrix), eliminating a long-standing "FIXME".
631    
632            * src/dense.c (dense_to_Csparse): use new mMatrix_as_geMatrix()
633    
634            * R/denseMatrix.R (.dense2C): based on dense_to_Csparse: name it,
635            and use it for "sparse*" as well, since it's faster than the
636            as_Csparse(.) way.
637    
638    2007-01-15  Martin Maechler  <maechler@stat.math.ethz.ch>
639    
640            * R/Ops.R ("Logic"): more methods, notably an  <lgC> o <lgC> one.
641    
642    2007-01-12  Martin Maechler  <maechler@stat.math.ethz.ch>
643    
644            * R/Tsparse.R (.TM.repl.i.2col): new internal function to be used
645            as method for   M[ ij ] <- v
646            * R/Csparse.R:: go via Tsparse for "M[ij] <- v"
647    
648            * R/Ops.R: "Compare" for (C|R)sparse: need pointer slot for all
649            FALSE answer
650    
651            * R/Csparse.R (replCmat): fix the "all non-zero" case with reordering
652            * tests/indexing.R: test it, and some of the above
653    
654    2007-01-05  Martin Maechler  <maechler@stat.math.ethz.ch>
655    
656            * R/Auxiliaries.R (is_duplicatedT): new utility
657    
658    2007-01-05  Douglas Bates  <bates@stat.wisc.edu>
659    
660            * src/init.c (R_init_Matrix): export cholmod_scale
661    
662    2006-12-30  Martin Maechler  <maechler@stat.math.ethz.ch>
663    
664            * R/zzz.R (tmp): for R >= 2.5.0, extend formals of our
665            base::as.matrix to (x, ...)
666    
667    2006-12-28  Martin Maechler  <maechler@stat.math.ethz.ch>
668    
669            * R/Ops.R ("Arith" etc): move almost all "Ops" methods to new R
670            file; start using "Logic", hence
671    
672            * DESCRIPTION (Depends): R >= 2.4.1 (since we want "Logic")
673            * NAMESPACE: import and export "Logic"
674    
675    2006-12-27  Martin Maechler  <maechler@stat.math.ethz.ch>
676    
677            * src/zpotfr.f and dependencies: use LAPACK 3.1 version
678            only needed previously to R version 2.5.0.
679    
680    2006-12-26  Martin Maechler  <maechler@stat.math.ethz.ch>
681    
682            * DESCRIPTION (Date, Version): 0.9975-8, ready for release
683    
684            * R/Tsparse.R (replTmat): fix subassignment of triangular
685            * R/Csparse.R (replCmat): ditto
686            * tests/indexing.R: more tests, incl the above fix
687    
688    2006-12-23  Martin Maechler  <maechler@stat.math.ethz.ch>
689    
690            * R/Auxiliaries.R (drop0): extend for non CSparse
691            * R/Auxiliaries.R (diagU2N): should work for all sparseMatrix
692    
693            * src/Csparse.c (Csparse_to_Tsparse, Csparse_general_to_symmetric):
694                    use uplo correctly (!); other places: use uplo_P() macro
695    
696            * R/Csparse.R (replCmat): call diagU2N() when needed
697            * R/Tsparse.R (replTmat): ditto
698    
699            * src/dtCMatrix.c (tCMatrix_validate): new
700            * src/dtTMatrix.c (tTMatrix_validate): new, used in
701            * R/AllClass.R: for validity of dtC, dsC, and dtT, dsT.
702    
703            * R/diagMatrix.R (replDiag): to use in [<-
704    
705    2006-12-22  Martin Maechler  <maechler@stat.math.ethz.ch>
706    
707            * R/Auxiliaries.R (as_Csparse2, as_geSimpl): new functions;
708                    also more general diagU2N().
709    
710    2006-12-21  Martin Maechler  <maechler@stat.math.ethz.ch>
711    
712            * R/bind2.R: new file for all cbind2(), rbind() methods moved here
713            from R/<foo>Matrix.R files. Better diagonal & improved sparse methods.
714    
715    2006-12-20  Martin Maechler  <maechler@stat.math.ethz.ch>
716    
717            * tests/bind.R: a few more cases
718            * R/Auxiliaries.R (.M.kind): also work for atomic vectors
719    
720            * R/denseMatrix.R (cbind2/rbind2): moved here (and generalized) from
721            * R/ddenseMatrix.R (cbind2/rbind2)
722            * R/Tsparse.R (replTmat): final(?!) fix for "[<-" ..
723            * tests/indexing.R
724            * tests/indexing.Rout.save: updated
725    
726    2006-12-18  Martin Maechler  <maechler@stat.math.ethz.ch>
727    
728            * R/Tsparse.R (replTmat): fixed a remaining "[<-" bug in
729            * tests/indexing.R
730    
731    2006-12-15  Martin Maechler  <maechler@stat.math.ethz.ch>
732    
733            * R/sparseMatrix.R (prSpMatrix): "." alignment much improved:
734            align with proper position of "0", i.e., right for integers.
735            argument 'align' by default is "fancy".
736    
737    2006-12-14  Martin Maechler  <maechler@stat.math.ethz.ch>
738    
739            * R/sparseMatrix.R: delegate "Compare" to "Csparse.."
740            * R/Csparse.R: and fix "Compare" for more cases.
741            * tests/Class+Meth.R: test some of these (m == m, m != m)
742    
743    2006-12-13  Martin Maechler  <maechler@stat.math.ethz.ch>
744    
745            * R/lsparseMatrix.R: all() and any() methods
746            * R/ldenseMatrix.R:      ditto
747            * NAMESPACE, R/Matrix.R: ditto
748    
749            * man/all-methods.Rd: document them minimally
750    
751            * tests/simple.R: add a few examples for these
752    
753    2006-12-11  Martin Maechler  <maechler@stat.math.ethz.ch>
754    
755            * R/Tsparse.R ([): fix long standing typo in symmetric case
756            * man/dsCMatrix-class.Rd: add example exhibiting the above case
757    
758    2006-12-10  Douglas Bates  <bates@stat.wisc.edu>
759    
760            * src/CHMfactor.c (CHMfactor_to_sparse): change LDL factorization
761            to LL before converting to a sparse matrix. (The LDL form can be
762            converted to a sparse matrix but it is implicitly a unit
763            triangular matrix and a diagonal matrix overwritten on the diagonal.)
764    
765    2006-12-09  Douglas Bates  <bates@stat.wisc.edu>
766    
767            * src/chm_common.c (chm_factor_to_SEXP): allocate and fill the Dim slot.
768    
769    2006-12-08  Douglas Bates  <bates@stat.wisc.edu>
770    
771            * DESCRIPTION (Version): updated -> release 0.9975-7
772            * src/{init.c,chm_common.c}, inst/include/*: export cholmod_analyze_p
773    
774    2006-11-30  Martin Maechler  <maechler@stat.math.ethz.ch>
775    
776            * R/diagMatrix.R (%*%): write a direct [diag o Csparse] method
777    
778    2006-11-29  Douglas Bates  <bates@stat.wisc.edu>
779    
780            * src/dgeMatrix.c (dgeMatrix_solve): Check error code from dgetri.
781            * tests/dg_Matrix.R: Add Barry Rowlingson's test of a matrix that
782            is exactly singular.
783    
784    2006-11-07  Martin Maechler  <maechler@stat.math.ethz.ch>
785    
786            * DESCRIPTION (Date): updated -> release 0.9975-6
787    
788    2006-11-06  Martin Maechler  <maechler@stat.math.ethz.ch>
789    
790            * R/Csparse.R (replCmat): symmetric indexing of symmetric matrix
791            now returns symmetric.
792    
793            * R/zzz.R ("diag<-"): replace "diag<-" in base for R <= 2.4.x
794    
795            * R/Matrix.R (.M.sub.i.2col):  new, for  M[ cbind(i,j) ] indexing.
796            * R/Matrix.R (.M.repl.i.2col): new, for  M[ cbind(i,j) ] <- value
797    
798            * R/Auxiliaries.R (.type.kind): added
799    
800    2006-11-04  Martin Maechler  <maechler@stat.math.ethz.ch>
801    
802            * src/cs.[ch]: updated to CSparse Version 2.0.3 by simply
803            running src/CSparse_install.sh
804    
805            * R/denseMatrix.R: "[": keep symmetric on symmetric indexing.
806    
807    2006-11-03  Martin Maechler  <maechler@stat.math.ethz.ch>
808    
809            * src/dsCMatrix.c (dsCMatrix_Csparse_solve): new
810            * R/dsCMatrix.R (solve): "fully-sparse" using the above.
811    
812            * R/AllClass.R: "pMatrix" now also inherits from "generalMatrix"
813    
814            * tests/Class+Meth.R (tstMatrixClass): now assure
815            the (important in method programming) property :
816    
817                    ###>>  Every "Matrix" is either
818                    ###>>  "general*", "symmetric*", "triangular*" or "diagonal*"
819    
820                    (where "*" stands for "Matrix")
821    
822            * R/Auxiliaries.R (diagU2N): now .Call()s Csparse_diagU2N for <Csparse>
823    
824            * R/dMatrix.R (Compare(<dMatrix>,<dMatrix>): update and
825            * tests/validObj.R: checks for "comparison"
826    
827            * R/sparseMatrix.R ([): improved indexing for sparse;
828                    trying to keep <symmetric>[ n, n] symmmetric
829    
830            * tests/indexing.R: indexing for logical sparse now ok
831    
832    
833    2006-11-02  Martin Maechler  <maechler@stat.math.ethz.ch>
834    
835            * src/Tsparse.c: use xTsparse_validate() , and hence remove
836    
837            * src/{ltC,lsC,lgT}Matrix.[ch]: removed
838    
839    2006-11-02  Martin Maechler  <maechler@stat.math.ethz.ch>
840    
841            * R/AllClass.R (Matrix-class): check length of dimnames in validity.
842    
843            * tests/simple.R: validObject() checking the above.
844    
845            * src/dgCMatrix.c (xCMatrix_validate): new, small and simple,
846            replacing both dgCMatrix_validate and lgCM*.
847    
848            * src/Csparse.c (Csparse_dense_prod, etc): do not lose dimnames;
849            fix dimnames setting in other places.
850            * src/chm_common.c (chm_dense_to_SEXP): now can pass dimnames
851    
852    2006-11-01  Martin Maechler  <maechler@stat.math.ethz.ch>
853    
854            * R/Csparse.R,src/Csparse.c, etc: tcrossprod(<CsparseM>,<CsparseM>)
855    
856            * R/sparseMatrix.R (isSymmetric): drop 'factors' slot for
857            symmetry test, via
858            * R/Auxiliaries.R (.as.dgC.0.factors):
859    
860    2006-11-01  Douglas Bates  <bates@r-project.org>
861    
862            * R/Csparse.R,src/Csparse.c,tests/matprod.R,
863            man/CsparseMatrix-class.Rd: crossprod(<CsparseMatrix>,
864            <CsparseMatrix>) added
865    
866    2006-10-30  Martin Maechler  <maechler@stat.math.ethz.ch>
867    
868            * tests/matprod.R: add a variation of Harri's example
869    
870            * R/dsparseMatrix.R: fix crossprod(<dsparse>, <dge>) to *not*
871            recursive infinitely.
872    
873            * R/dgCMatrix.R: + solve(<sparse>, <sparse>)
874    
875            * tests/indexing.R: add test for the "<" bug fixed 10-27 in R/dMatrix.R
876    
877    2006-10-28  Martin Maechler  <maechler@stat.math.ethz.ch>
878    
879            * tests/Class+Meth.R (tstMatrixClass): more: use non-trivial
880            matrix if possible; test m+m == 2*m; now test dgRMatrix.
881            * R/dgRMatrix.R (.to.dgR): a few more coercions, in order to
882            satisfy the above test.
883    
884    2006-10-27  Martin Maechler  <maechler@stat.math.ethz.ch>
885    
886            * R/Matrix.R (Ops):  <Matrix> o <matrix>  method added
887    
888            * R/dgCMatrix.R: solve(a, b="missing") based on
889            * src/dgCMatrix.c (dgCMatrix_matrix_solve): extend to work with
890            RHS = NULL.
891    
892            * R/diagMatrix.R (diagdiagprod): extend %*% etc to ldiMatrix;
893            add more (needed) [t]crossprod() methods.
894    
895            * man/ddiMatrix-class.Rd: more info, notably on 'diag'
896    
897            * R/Auxiliaries.R (as_CspClass): cleanup
898            (drop0): internal utility for "Csparse_drop(*, 0)"
899            (.bail.out.2): encourage active feedback
900    
901    2006-10-26  Martin Maechler  <maechler@stat.math.ethz.ch>
902    
903            * R/dMatrix.R(Compare): new(), then slots [no validity check]
904    
905            * src/Csparse.c (Csparse_validate): fixed (and more efficient in
906            non-valid or 'sorted' case).
907    
908            * R/dsparseMatrix.R: add "chol" method.
909            * R/ddenseMatrix.R: ditto
910    
911            * R/diagMatrix.R (Ops): group methods for  <diagonal> o <sparse>
912            * NAMESPACE (Ops)
913            * R/diagMatrix.R (diag2T): simple utility used "higher level"
914            coercion; deprecating direct lower level coercions.
915    
916            * R/*.R (seq): use seq_len() and seq_along() where possible.
917    
918    
919    2006-10-23  Martin Maechler  <maechler@stat.math.ethz.ch>
920    
921            * DESCRIPTION (Version): 0.9975-5 ready for release
922    
923    2006-10-20  Douglas Bates  <bates@stat.wisc.edu>
924    
925            * src/init.c (R_init_Matrix): export more cholmod CCallable functions.
926    
927    2006-10-20  Martin Maechler  <maechler@stat.math.ethz.ch>
928    
929            * R/AllClass.R (corMatrix): add 'validity' check;
930                    comment out unused "LDL" class definition
931            * NAMESPACE: mention, but do not export "LDL" class
932            * R/corMatrix.R: new (simple), needed for R-devel with
933            * tests/Class+Meth.R (tstMatrixClass): 1 exception for corMatrix
934              coerce and t() exceptions for all 5 'Mat.MatFact' classes.
935    
936    2006-10-19  Douglas Bates  <bates@stat.wisc.edu>
937    
938            * src/chm_common.h: Add R_cholmod_start to initialize cholmod to
939            use Rprintf and R's error handling.
940    
941    2006-10-17  Martin Maechler  <maechler@stat.math.ethz.ch>
942    
943            * R/diagMatrix.R (%*%): rep(*, each = .) in Matrix %*% diagonal.
944            * tests/matprod.R: add tests for the bug fixed.
945    
946    2006-10-11  Douglas Bates  <bates@stat.wisc.edu>
947    
948            * src/HBMM.[ch]: remove HarwellBoeing format for writing.
949            * src/SOURCES_C.mkf (SOURCES_C): no longer compile iohb.c
950    
951    2006-10-06  Douglas Bates  <bates@stat.wisc.edu>
952    
953            * R/d[gs]CMatrix.R: deprecate the writeHB function.  Use writeMM instead.
954    
955    2006-10-06  Martin Maechler  <maechler@stat.math.ethz.ch>
956    
957            * DESCRIPTION (Version): 0.9975-3
958    
959            * R/diagMatrix.R (bdiag): new function constructing block diagonal
960            (sparse) matrices.
961            * man/bdiag.Rd: docu + examples
962    
963            * R/Csparse.R (replCmat): calling new Csparse_drop() now.
964    
965            * src/Csparse.c (Csparse_general_to_symmetric, Csparse_drop): new functions
966            * R/lsCMatrix.R: three more coercions to lsC (thanks to the above)
967    
968            * R/diagMatrix.R (Diagonal): '[<-' method for diag.matrices such
969            that result is sparse or diagonal (and not dense).
970    
971            * man/Subassign-methods.Rd: fix examples
972    
973            * R/Matrix.R (Matrix):  Matrix(0, *) or Matrix(*, sparse=TRUE)
974            should always return a sparse (and not sometimes a diagonal) matrix.
975    
976    2006-10-05  Martin Maechler  <maechler@stat.math.ethz.ch>
977    
978            * R/Matrix.R ([<-): also for value "Matrix" or "matrix"
979    
980    2006-10-04  Douglas Bates  <bates@stat.wisc.edu>
981    
982            * DESCRIPTION (Version): 0.9975-2
983    
984            * inst/include/Matrix_stubs.c (M_cholmod_sparse_to_triplet): export more symbols
985    
986    2006-10-02  Douglas Bates  <bates@R-project.org>
987    
988            * tests/dg_Matrix.R: Simplify test taking into account new code.
989    
990    2006-09-29  Martin Maechler  <maechler@stat.math.ethz.ch>
991    
992            * R/Csparse.R (replCmat): improve for missing i / j in non-simple cases
993    
994            * R/lsTMatrix.R: new files w/ missing methods
995            * R/nsTMatrix.R:  "  'for completeness'
996    
997            * tests/Class+Meth.R: a bit less 'not.ok.classes'
998    
999            * R/Tsparse.R (t): generalized "t" method from "dgT*" to "Tsparse*"
1000    
1001    
1002    2006-09-28  Douglas Bates  <bates@R-project.org>
1003    
1004            * src/dppMatrix.h: Ensure definition of dspMatrix_validate is
1005            included.
1006    
1007            * src/init.c, inst/include/{Matrix.h,Matrix_stubs.h,cholmod.h}:
1008            Export C-callable functions used in Zt_create in lme4.
1009    
1010    2006-09-28  Martin Maechler  <maechler@stat.math.ethz.ch>
1011    
1012            * DESCRIPTION (Version): 0.9975-1
1013    
1014            * tests/simple.R: less checks fail; using NA, found that our
1015                    kronecker() is not base-compatible with NA's.
1016    
1017            * R/dMatrix.R: "Compare" method now implemented for all cases
1018    
1019            * R/Auxiliaries.R (indTri): == which([lower/upper].tri( * )) new utility
1020    
1021            * man/dtpMatrix-class.Rd: mention length of 'x' slot
1022    
1023            * src/dtpMatrix.c (dtpMatrix_validate): fix check
1024            * src/dspMatrix.c (dspMatrix_validate): ditto
1025    
1026            * R/dtTMatrix.R (gt2tT): fix ("l" -> "n")
1027              including coercion to [nl]tTMatrix.
1028    
1029            * R/diagMatrix.R (show): print a header line as for other classes.
1030    
1031    2006-09-27  Martin Maechler  <maechler@stat.math.ethz.ch>
1032    
1033            * src/Makefile.win (SUBDIRS): fix typo
1034    
1035    2006-09-19  Martin Maechler  <maechler@stat.math.ethz.ch>
1036    
1037            * DESCRIPTION (Date): ready to release 0.9975-0 to CRAN
1038    
1039    2006-09-18  Douglas Bates  <bates@stat.wisc.edu>
1040    
1041            * R/[CT]sparse.R (crossprod and tcrossprod): Handle the cases for x
1042            symmetric and y missing in R code using %*% (cholmod_aat doesn't
1043            accept a symmetric matrix).
1044            * tests/group-methods.R: Uncomment test of crossprod applied to
1045            lsCMatrix objects.
1046    
1047    2006-09-18  Martin Maechler  <maechler@stat.math.ethz.ch>
1048    
1049            * R/AllClass.R (symmetricMatrix): add validity method (available
1050            in C for a long time). Many "n..Matrix": drop (wrong) validity arg.
1051    
1052            * src/lgCMatrix.c (lgCMatrix_validate): check 'x' slot (!)
1053    
1054            * tests/indexing.Rout.save:
1055            * tests/indexing.R: additions, mainly for 'lsparse'
1056    
1057            * R/diagMatrix.R (Diagonal) & coercion to lgTMatrix: fixes for NA
1058            case.
1059    
1060            * R/Auxiliaries.R (nz.NA): new utility now used in nnzero()
1061    
1062    2006-09-16  Martin Maechler  <maechler@stat.math.ethz.ch>
1063    
1064            * R/sparseMatrix.R (prSpMatrix): print logical NAs "visibly"
1065                    as 'N' (1-letter - Ok?)
1066    
1067            * tests/group-methods.R: add test for logical + NAs
1068    
1069            * R/dMatrix.R ("Compare"): fix to work with NA's
1070    
1071            * R/AllClass.R: "Cholesky" etc now inherit from MatrixFactorization.
1072    
1073            * src/lgCMatrix.c (ncsc_to_matrix): renamed from lcsc_to_matrix()
1074                    which is implemented.
1075    
1076    2006-09-15  Martin Maechler  <maechler@stat.math.ethz.ch>
1077    
1078            * src/chm_common.c: coerce logical <-> double instead of
1079            typecasting;  needed for "l" matrix handling in cholmod.
1080    
1081            * tests/other-pkgs.R (graph): small extension in "graph" checks.
1082    
1083            * R/sparseMatrix.R (graphNEL -> Tsparse): method for weight case.
1084            (Tsp2grNEL): other fixes needed
1085    
1086    2006-09-11  Martin Maechler  <maechler@stat.math.ethz.ch>
1087    
1088            * R/AllClass.R ("nMatrix"): and subclasses for "nonzero pattern"
1089                    Matrices, since "lMatrix", also "lsparseM" can have NA
1090            * R/ndenseMatrix.R, etc: new source files
1091            * man/nsparseMatrix-classes.Rd, etc: new help files
1092            * tests/: adaptions
1093            * src/chm_common.c (chm_dense_to_SEXP): and others:
1094                    new 'Rkind' argument: "l*" and "d*" both use CHOLMOD_REAL
1095            * src/Csparse.c, etc: ditto
1096    
1097    2006-09-11  Douglas Bates  <bates@R-project.org>
1098    
1099            * src/Mutils.[ch],init.c inst/include/*.h: Move the
1100            alloc_d**Matrix functions to the lme4 package.
1101    
1102    2006-09-09  Douglas Bates  <bates@R-project.org>
1103    
1104            * src/dsCMatrix.c (dsCMatrix_Cholesky): igoring LDL = FALSE now
1105            fixed
1106    
1107    2006-09-09  Martin Maechler  <maechler@stat.math.ethz.ch>
1108    
1109            * R/lMatrix.R: new
1110    
1111            * R/sparseMatrix.R (Tsp2grNEL): do not yet use graph::foo()
1112    
1113            * R/dgeMatrix.R: do not define tcrossprod() methods for "matrix"
1114            * man/tcrossprod.Rd: ditto
1115    
1116    2006-09-08  Douglas Bates  <bates@stat.wisc.edu>
1117    
1118            * inst/include/Matrix_stubs.c,Matrix.h: Add declarations and stubs
1119            for exported functions
1120            * src/Makefile, src/CHOLMOD/Lib/Makefile, src/Metis,CAMD,CCOLAMD:
1121            Remove partitioning algorithms for sparse matrix reordering.  The
1122            copyright on the Metis code was problematic and the methods were
1123            rarely used.
1124            * src/triplet_to_col.[ch],MMHB.[ch]: Remove triplet_to_col.  Such
1125            operations are now done entirely in CHOLMOD code.
1126    
1127    2006-09-06  Douglas Bates  <bates@R-project.org>
1128    
1129            * src/Mutils.h: Remove functions that are no longer used.
1130    
1131    2006-09-04  Douglas Bates  <bates@R-project.org>
1132    
1133            * src/dtCMatrix.c (dtCMatrix_validate): rename functions.
1134            * src/DEPS.mkf: update
1135    
1136    2006-09-02  Martin Maechler  <maechler@stat.math.ethz.ch>
1137    
1138            * created branches/Matrix-for-R-2.3.x;  on trunk: do
1139            * DESCRIPTION (Version): 0.9975-0
1140            (Depends): R (>= 2.4.0)
1141    
1142    2006-09-01  Douglas Bates  <bates@R-project.org>
1143    
1144            * R/sparseMatrix.R: Added direct method to CsparseMatrix from graphNEL
1145    
1146    2006-09-01  Martin Maechler  <maechler@stat.math.ethz.ch>
1147    
1148            * R/sparseMatrix.R: add coercion from "ANY" to "sparseMatrix"
1149            * R/denseMatrix.R:  add coercion from "ANY" to "denseMatrix"
1150    
1151            * R/Matrix.R ([): use nargs() to disambiguate M[i] and M[i,]
1152    
1153    2006-08-31  Martin Maechler  <maechler@stat.math.ethz.ch>
1154    
1155            * R/sparseMatrix.R (Arith): moved Arith group method one-level up
1156            from "dsparse" to "sparse" and now go via "Csparse" instead of "dgC"
1157            * R/dsparseMatrix.R: ditto
1158            * R/Csparse.R: ditto
1159    
1160    2006-08-31  Martin Maechler  <maechler@stat.math.ethz.ch>
1161    
1162            * R/dMatrix.R (Compare): improve availability of "<", etc
1163            * R/Auxiliaries.R (asTuniq): new; also make use of R 2.4.x print(*,max)
1164    
1165    2006-08-30  Martin Maechler  <maechler@stat.math.ethz.ch>
1166    
1167            * R/dgCMatrix.R: aargh: "Arith(<dgC>, numeric)" was wrong because
1168            of a 0-index which was used as 1-index (..hmm)
1169    
1170            * R/sparseMatrix.R (prSpMatrix): fix printing an all-0 sparse Matrix
1171    
1172            * R/Auxiliaries.R (all0, is0): for 0-testing in presence of NA's
1173            * R/Auxiliaries.R (isTriMat): use all0() for 0-testing.
1174            (.is.diagonal): ditto
1175    
1176            * R/lgTMatrix.R: as("matrix", "lgTMatrix"): warn about NA's
1177    
1178            * R/Matrix.R (Matrix): also work for NA data
1179    
1180    2006-08-28  Martin Maechler  <maechler@stat.math.ethz.ch>
1181    
1182            * R/Matrix.R (Matrix): + 'forceCheck' argument; dimnames setting
1183            in all cases.
1184    
1185    2006-08-27  Douglas Bates  <bates@R-project.org>
1186    
1187            * src/dense.[ch],init.c, R/ddenseMatrix.R, man/band.Rd
1188            (ddense_band): Added triu, tril and band for ddenseMatrix objects.
1189    
1190    2006-08-25  Martin Maechler  <maechler@stat.math.ethz.ch>
1191    
1192            * src/Mutils.c (dup_mMatrix_as_dgeMatrix): added all subclasses of
1193            subclasses of "ddenseMatrix"
1194            * src/init.c et al: outcomment dtrM*_as_dge* and dsyM*_as_dge*_
1195            * R/ddenseMatrix.R et al: setAs("ddenseMatrix", "dgeMatrix", ..)
1196            instead of half dozen specialized ones.
1197    
1198    2006-08-25  Douglas Bates  <bates@R-project.org>
1199    
1200            * R/lmer.R (qqmath method): Bug fix provided by Emmanuel Tillard
1201            <tillard@cirad.fr> - ordering standard errors to match effects.
1202    
1203    2006-08-24  Douglas Bates  <bates@R-project.org>
1204    
1205            * src/lsCMatrix.c (lsCMatrix_trans): Remove lsCMatrix_chol based
1206            on R_ldl.
1207            * R/lCholCMatrix.R,
1208            src/[dl]CholCMatrix.[ch],R_ldl.[ch],Metis_utils.[ch]: removed
1209            * src/dsCMatrix.c (dsCMatrix_to_dgTMatrix): use CHOLMOD
1210            * many files in ./R and ./src: Use more general version of
1211            dup_mMatrix_as_dgeMatrix to simplify method definitions.
1212            * src/Mutils.c (dup_mMatrix_as_dgeMatrix): Add ddiMatrix,
1213            dtpMatrix, dspMatrix and dppMatrix conversions.
1214    
1215    
1216    2006-08-23  Douglas Bates  <bates@R-project.org>
1217    
1218            * R/AllClass.R,lCholCMatrix.R,src/SOURCES_C.mkf,init.c,NAMESPACE:
1219            Remove classes lCholCMatrix and dCholCMatrix based on R_ldl code.
1220            * src/dgeMatrix.c: Ensure 'factors' slot exists in result of
1221            dgeMatrix_crossprod (may need to do this in other places).
1222            * R/AllGeneric.R,dsCMatrix.R, src/dscMatrix.[ch]: Add Cholesky
1223            generic and method for dsCMatrix.  Use CHOLMOD for chol().
1224    
1225    2006-08-22  Douglas Bates  <bates@R-project.org>
1226    
1227            * src/Mutils.c (dup_mMatrix_as_dgeMatrix): updated for general
1228            types of classed Matrices, matrices or numeric or logical vectors.
1229            * src/init.c: register dup_mMatrix_as_dgeMatrix for coercions.
1230            * src/chm_common.c,Mutils.h (as_cholmod_factor): Move check_class
1231            to Mutils.h (as an inline) and change name to Matrix_check_class;
1232            fixes in as_cholmod_factor and chm_factor_to_SEXP.
1233            * src/dsCMatrix.[ch]: Use CHOLMOD for dsCMatrix_chol and
1234            dsCMatrix_matrix_solve.  Comment out vestigial functions.
1235            * src/Csparse.c: use diag_P and uplo_P macros.
1236    
1237    2006-08-21  Douglas Bates  <bates@R-project.org>
1238    
1239            * src/lmer.c (internal_mer_RZXinv): Fix memory leak caught by
1240            valgrind.
1241            * tests/matprod.R: Add tests to verify that 'solve' and '%*%' are
1242            inverses.
1243            * src/sparseQR.c (sparseQR_validate): add new validation test, fix
1244            -Wall warnings.
1245            * src/dppMatrix.c,dtrMatrix.c,dgCMatrix.c,dgeMatrix.c,dspMatrix.c:
1246            Use dup_mMatrix_as_dgeMatrix.
1247    
1248    2006-08-20  Douglas Bates  <bates@R-project.org>
1249    
1250            * src/sparseQR.c: Fix thinko in sparseQR_resid_fitted.
1251            * tests/sparseQR.R: Added
1252            * man/sparseQR-class.Rd: Document methods for qr.* generics
1253            * R/sparseQR.R: Return correct # of coefs; fix cut-and-paste errors
1254    
1255    2006-08-19  Douglas Bates  <bates@R-project.org>
1256    
1257            * NAMESPACE, R/sparseQR.R, src/init.c,sparseQR.[ch],SOURCES_C.mkf:
1258            Added methods for sparseQR for qr.qy, qr.qty, qr.coef, qr.resid
1259            and qr.fitted.
1260            * src/Mutils.[ch]: Added dup_mMatrix_as_dgeMatrix utility
1261            * src/dgCMatrix.c: Check for ordering before storing q in dgCMatrix_QR
1262    
1263    2006-08-18  Martin Maechler  <maechler@stat.math.ethz.ch>
1264    
1265            * R/AllGeneric.R: add "qr" and "chol" generics; via 'trick' since
1266            the base version has no "..." argument.
1267    
1268            * R/sparseMatrix.R (prSpMatrix): fix the triangular unit diagonal case.
1269    
1270            * R/Matrix.R: define and
1271            * NAMESPACE: export as.numeric() and as.logical() methods.
1272                    Let's hope these do not badly slow down something...
1273            Finally export the zapsmall() method.
1274    
1275    2006-08-17  Douglas Bates  <bates@R-project.org>
1276    
1277            * src/dgCMatrix.[ch] (dgCMatrix_matrix_solve), src/init.c,
1278            R/dgCMatrix.R: solve methods for dgCMatrix and dense RHS.
1279            * src/dtCMatrix.c :Remove code that is no longer used
1280            * R/dtCMatrix.R: Use C code for diagU2N in CsparseMatrix classes
1281    
1282    2006-08-14  Douglas Bates  <bates@R-project.org>
1283    
1284            * src/Csparse.[ch],init.c (Csparse_to_logical): Added utilities
1285            Csparse_to_logical and Csparse_symmetric_to_general.
1286            * R/dgCMatrix.R,dsCMatrix.R,Csparse.R : Consolidate general
1287            coercion methods between CsparseMatrix and TsparseMatrix.
1288    
1289    2006-08-14  Douglas Bates  <bates@R-project.org>
1290    
1291            * R/dtCMatrix.R,dgCMatrix.R,Csparse.R src/init.c,dgCMatrix.[ch],
1292            Csparse.[ch],chm_common.c,dense.c : Use CHOLMOD code and methods
1293            for CsparseMatrix, TsparseMatrix, denseMatrix or matrix when
1294            possible.
1295    
1296    2006-08-12  Douglas Bates  <bates@R-project.org>
1297    
1298            * src/chm_common.[ch],Csparse.[ch],Tsparse.[ch],CHMfactor.c,dtTMatrix.c,
1299              dgTMatrix.c,dgCMatrix.c,dsCMatrix.c,dtTMatrix.c, R/dsTMatrix.R,
1300              Tsparse.R,Csparse.R,dgTMatrix.R,dsCMatrix.R,lsCMatrix.R:
1301              generalize conversions between TsparseMatrix, CsparseMatrix,
1302              denseMatrix and matrix.  Preserve triangularity property and
1303              propagate Dimnames in the easy cases.
1304    
1305    2006-08-10  Douglas Bates  <bates@R-project.org>
1306    
1307            * src/lmer.c: adjust checks in glmer_init for S4SXP
1308            * tests/validObj.R: check of all(eq) should be all(eq@x) - worked
1309            before S4SXP but for the wrong reasons.
1310    
1311    2006-08-08  Douglas Bates  <bates@R-project.org>
1312    
1313            * src/Csparse.c (Csparse_crossprod): tcrossprod result has stype = -1.
1314            Later modified to return the upper triangle only.
1315            * R/dgTMatrix.R: Remove vestigial crossprod and tcrossprod methods.
1316    
1317    2006-08-07  Douglas Bates  <bates@R-project.org>
1318    
1319            * src/Csparse.c (Csparse_crossprod): Set stype on result to avoid
1320            R-level conversion to a sparse symmetric class.
1321            * R/Tsparse.R,R/Csparse.R (crossprod and tcrossprod methods):
1322            Remove conversion to sparse symmetric classes (now done in C code).
1323    
1324    2006-08-07  Martin Maechler  <maechler@stat.math.ethz.ch>
1325    
1326            * R/dgCMatrix.R: disable old crossprod and tcrossprod methods
1327            * man/band.Rd:  adapt the \dontshow{} unit test.
1328    
1329    2006-08-07  Martin Maechler  <maechler@stat.math.ethz.ch>
1330    
1331            * DESCRIPTION (Version): 0.995-14  for CRAN
1332    
1333            * tests/other-pkgs.R: oops: library(Matrix) outside *if* !
1334    
1335            * R/sparseMatrix.R (Tsp2grNEL): fixed Tsparse -> graph coercion
1336            * tests/other-pkgs.R:  more checks, sparseMatrix -> graph
1337    
1338            * R/Auxiliaries.R (as_Tsparse, as_Rsparse): new
1339            * R/Tsparse.R (tril, triu, band): methods
1340            * R/dgRMatrix.R (tril, ...):    ditto
1341            * man/band.Rd:                  ditto
1342    
1343    2006-08-04  Martin Maechler  <maechler@stat.math.ethz.ch>
1344    
1345            * R/Matrix.R (head, tail): directly use utils:::head.matrix
1346                    to be up-to-date automatically.
1347    
1348    2006-08-03  Martin Maechler  <maechler@stat.math.ethz.ch>
1349    
1350            * DESCRIPTION (Version): 0.995-13 to be released to CRAN
1351    
1352            * DESCRIPTION (Lazydata): no, instead of 'yes' because it fails for:
1353            * data/CAex.R, inst/external/CAex_slots.rda: replacing data/CAex.rda
1354            * data/KNex.R, inst/external/KNex_slots.rda: replacing data/KNex.rda
1355            such that the S4 objects are always created by the current version
1356            of R and 'Matrix' class definitions.
1357    
1358    2006-08-01  Douglas Bates  <bates@R-project.org>
1359    
1360            * R/lmer.R (LMEoptimize method), tests/lmer.R,
1361            inst/external/test3comp.rda: Added warnings for convergence on
1362            boundary and test cases.
1363    
1364            * src/lmer.c (mer_postVar): Modified to return the variances that
1365            are marginal to the fixed effects, not conditional on them (which
1366            is what the bVar slot contents represent).
1367    
1368    2006-07-31  Douglas Bates  <bates@R-project.org>
1369    
1370            * NAMESPACE, src/lmer.c, R/lmer.R (hatTrace):  Add the hatTrace
1371            function which calls the C function mer_hat_trace2.
1372    
1373            * man/ranef.Rd: Include description of "postVar" argument and
1374            producing a caterpillar plot.
1375    
1376    2006-07-31  Martin Maechler  <maechler@stat.math.ethz.ch>
1377    
1378            * NAMESPACE:    change  "correlation" to "corMatrix"
1379            * R/AllClass.R: to avoid clash with S3 class in 'nlme'.
1380            * R/dpoMatrix.R: ditto
1381            * R/lmer.R:      ditto
1382    
1383    2006-07-28  Douglas Bates  <bates@R-project.org>
1384    
1385            * src/lmer.c (internal_mer_RZXinv): Split the calculation of the
1386            RZXinv slot's contents into a separate internal function that can
1387            be used in mer_hat_trace.
1388    
1389    2006-07-22  Martin Maechler  <maechler@stat.math.ethz.ch>
1390    
1391            * R/Matrix.R: Coercions "Matrix" -> (sparse|dense)Matrix
1392            via new smart
1393            * R/Auxiliaries.R (as_Csparse, as_dense, .M.shapse): new
1394            utility functions.
1395    
1396    
1397    2006-07-21  Martin Maechler  <maechler@stat.math.ethz.ch>
1398    
1399            * R/Csparse.R (tril, triu, band): do return *triangular* classed
1400            matrices when appropriate; band() even symmetric ones.
1401            (replCmat): extend to potentially all "CsparseMatrix"
1402            * R/Tsparse.R (replTmat): extend to all "TsparseMatrix"; hence
1403            allow subassignment for special sparse matrices.
1404    
1405            * R/Auxiliaries.R (as_geClass): factor out the  .M.kind() functionality
1406    
1407            * src/lmer.c (mer_MCMCsamp, glmer_MCMCsamp): new 'verbose'
1408            argument; in glmer_*(): print only if(verbose).
1409    
1410            speed-optimize a few places by moving REAL(.) out of loops.
1411    
1412            * src/lmer.h, src/init.h, R/lmer.R:  related to above.
1413    
1414    2006-07-20  Martin Maechler  <maechler@stat.math.ethz.ch>
1415    
1416            * R/Matrix.R("["): disable ("Matrix", i = "logical", j = "missing"),
1417                    since that wrongly triggers also for M[ logi , ]
1418    
1419            * R/denseMatrix.R: "[" methods now also work e.g. when indexing
1420            a symmetric matrix that results in a non-symmetric one.
1421            * R/Auxiliaries.R (as_geClass): new function used in "[" above.
1422    
1423            * R/dMatrix.R: make round(M) work as round(M, 0)
1424    
1425            * R/dgTMatrix.R (image): coordinate system and axis now use
1426            1-based indices, not 0-based ones.
1427    
1428            * R/Tsparse.R (.ind.prep for "["): get rid of max(<empty>) warning.
1429            * tests/indexing.R: test it.
1430    
1431            * NAMESPACE: export isSymmetric(); has been a generic in "base" for a while;
1432            * man/isSymmetric-methods.Rd: and document it.
1433    
1434            * R/SparseM-conv.R: added coercion methods for some 'SparseM' matrices.
1435            * man/SparseM-conv.Rd: docu them
1436    
1437            * tests/other-pkgs.R: renamed from tests/graph.R and add example
1438                    for 'SparseM' conversions
1439    
1440    2006-07-17  Douglas Bates  <Douglas.Bates@R-project.org>
1441    
1442            * R/Matrix.R (head): added head() and tail() methods.
1443    
1444    2006-07-17  Martin Maechler  <maechler@stat.math.ethz.ch>
1445    
1446            * DESCRIPTION (Version): 0.995-12 released to CRAN
1447    
1448    2006-07-15  Martin Maechler  <maechler@stat.math.ethz.ch>
1449    
1450            * tests/simple.R: add check for correct dsT -> dgT coercion;
1451                    add check for correct printing of symmetric sparse matrices.
1452    
1453            * R/Auxiliaries.R (non0ind): return *all* non-0 entry indices also
1454            for sparse symmetric matrices.
1455    
1456            * src/dsTMatrix.c (dsTMatrix_as_dgTMatrix): do not copy the
1457            diagonal twice.
1458    
1459    2006-07-11  Douglas Bates  <Douglas.Bates@R-project.org>
1460    
1461            * src/dsTMatrix.c (dsTMatrix_as_dgTMatrix): Fix a case of INTEGER
1462            being applied to the x slot (detected by Brian Ripley).
1463    
1464    2006-07-10  Martin Maechler  <maechler@stat.math.ethz.ch>
1465    
1466            * src/dgCMatrix.c (dgCMatrix_validate): 'p' slot must have correct length.
1467    
1468            * R/Auxiliaries.R (isTriC): fix buglet (we were 1-based!)
1469    
1470    2006-07-08  Martin Maechler  <maechler@stat.math.ethz.ch>
1471    
1472            * src/lgCMatrix.c (lgCMatrix_diag): new function
1473            * R/lgCMatrix.R (diag): for new method
1474    
1475            * R/AllClass.R (TsparseMatrix): do use Tsparse_validate
1476                 ==> construction of illegal "*gTMatrix" via new() should
1477                 now be much less easy:
1478            * tests/Class+Meth.R: assertError() for some illegal "dgT*"
1479    
1480            * R/Matrix.R (Matrix): Matrix(0, nrow,ncol) now "goes sparse"
1481                    directly.
1482            * man/Matrix.Rd: documents it.
1483    
1484    2006-07-06  Douglas Bates  <bates@R-project.org>
1485    
1486            * src/pedigree.c (pedigree_inbreeding): Correction in
1487            initialization.  This function is not currently being used and is
1488            not fully tested.
1489    
1490            * NAMESPACE, R/{AllClass.R,lmer.R}, src/{init.c,lmer.c}:
1491            Introduced the glmer class.  Added code for mcmcmsamp on glmer
1492            objects.  Modified validity check on pedigree objects to account
1493            for nonparallel patterns of missingness of parents.
1494    
1495            * man/{lmer-class.Rd,mcmcsamp.Rd}: Update documentation for glmer
1496            class.
1497    
1498    2006-07-01  Martin Maechler  <maechler@stat.math.ethz.ch>
1499    
1500            * R/pMatrix.R: coercion pMatrix -> Tsparse
1501    
1502    2006-06-12  Douglas Bates  <bates@R-project.org>
1503    
1504            * DESCRIPTION (Version): 0.995-11 released to CRAN
1505    
1506            * R/lmer.R (mcmcsamp method): Corrected arrangments of names on
1507            the output from mcmcsamp.
1508    
1509    2006-06-10  Douglas Bates  <bates@R-project.org>
1510    
1511            * R/lmer.R (simulestimate): added C code for calculating the trace
1512            of the hat matrix.
1513    
1514    2006-06-09  Martin Maechler  <maechler@stat.math.ethz.ch>
1515    
1516            * R/diagMatrix.R (setAs): define coercion methods to sparse matrix
1517            classes.
1518            * R/sparseMatrix.R etc: multiplication of diagonal and sparse
1519    
1520    2006-06-08  Martin Maechler  <maechler@stat.math.ethz.ch>
1521    
1522            * R/dgTMatrix.R (colSums): etc. All four of
1523            colSums(), rowSums(), colMeans(), rowMeans() now should work for
1524            all "Matrices".
1525    
1526    2006-06-01  Douglas Bates  <bates@stat.wisc.edu>
1527    
1528            * R/lmer.R (panel.ci): Add a reference line at zero and a
1529            background grid to the qqmath plot of ranef.lmer.
1530    
1531    2006-05-30  Douglas Bates  <bates@stat.wisc.edu>
1532    
1533            * R/lmer.R (expandSlash): Functions (non-exported) to allow nested
1534            grouping factors to be specified in the formula as (1|foo/bar).
1535    
1536    2006-05-27  Douglas Bates  <bates@stat.wisc.edu>
1537    
1538            * R/lmer.R (findbars and others): Change check of is.numeric to
1539            !is.language to resolve the bug reported by Jacob Wegelin.
1540    
1541            * src/pedigree.c (pedigree_inbreeding): Initial implementation of
1542            code to evaluate inbreeding coefficients without calculating T,
1543            based on code in Sargolzaei and Iwaisaki's paper.
1544    
1545    2006-05-27  Douglas Bates  <bates@stat.wisc.edu>
1546    
1547            * R/{lmer.R,AllGeneric.R}, src/{init.c,lmer.[ch]}: Added local
1548            generic and mer methods for isNested and denomDF. This denomDF was
1549            an attempt to emulate that in lme but I don't think that makes
1550            sense.  Use the trace of the hat matrix instead.
1551    
1552    2006-05-17  Martin Maechler  <maechler@stat.math.ethz.ch>
1553    
1554            * R/sparseMatrix.R: Matrix <-> graph methods: can no longer use
1555            the C code depending on a slot structure that's no longer valid.
1556            * src/dgTMatrix.c: ditto (also: src/init.c src/dgTMatrix.h)
1557    
1558    
1559    2006-05-17  Douglas Bates  <bates@stat.wisc.edu>
1560    
1561            *  R/{AllGeneric.R,Csparse.R},man/band.Rd,NAMESPACE: changed name
1562            of lowerTriMatrix generic and methods to tril (also upper to triu)
1563            and added a general band extractor.
1564    
1565    2006-05-16  Douglas Bates  <bates@stat.wisc.edu>
1566    
1567            * R/pedigree.R (pedigree): Replace sire and dam values outside the
1568            allowable range with NAs. Added a corresponding check in the
1569            validity check for the pedigree class.
1570    
1571            * R/[CT]sparse.R ([t]crossprod): The result of single-argument
1572            crossprod methods now inherits from symmetricMatrix.
1573    
1574    2006-05-15  Douglas Bates  <bates@stat.wisc.edu>
1575    
1576            * R/AllGeneric.R (lowerTriMatrix): Added (but did not export)
1577            generics lowerTriMatrix and upperTriMatrix along with methods for
1578            the Csparse virtual class.  Also added a C function Csparse_band
1579            that implements these methods by calling cholmod_band.
1580    
1581    2006-05-15  Martin Maechler  <maechler@stat.math.ethz.ch>
1582    
1583            * R/Tsparse.R ("["): column or row subsetting; @Dimnames[k] got
1584            erased when it was NULL.  This led to invalid subselections!
1585    
1586    2006-04-25  Douglas Bates  <bates@stat.wisc.edu>
1587    
1588            * R/dtCMatrix.R: avoid coercion of dtCMatrix object to dgCMatrix
1589            in method for "t" so as not to lose the unit diagonal property.
1590    
1591    2006-04-19  Douglas Bates  <bates@stat.wisc.edu>
1592    
1593            * R/lmer.R, R/AllGeneric.R, NAMESPACE: Remove the postVar generic
1594            and methods.  This is now an option to the ranef method for the
1595            mer class.
1596    
1597            * src/cs_utils.c: Ensure that the nz component is -1 for a
1598            compressed column-oriented matrix.  Minor formatting cleanup.
1599    
1600            * man/lmer-class.Rd: Document the qqmath method for ranef.lmer
1601            objects.
1602    
1603    2006-04-19  Martin Maechler  <maechler@stat.math.ethz.ch>
1604    
1605            * R/Auxiliaries.R (diagU2N): new for the solve() methods in
1606            * R/dtCMatrix.R: where dgC -> dgT coercion now preserves diag = "U".
1607    
1608    2006-04-15  Douglas Bates  <bates@stat.wisc.edu>
1609    
1610            * src/cs.[ch],src/cs_utils.[ch] : Added Tim Davis' CSparse library
1611            in cs.[ch] and utilities to interface to that code in cs_utils.[ch].
1612    
1613            * R/dtCMatrix.R, src/dtCMatrix.[ch] : CSparse-based solve methods
1614            for the dtCMatrix class.
1615    
1616    2006-04-12  Douglas Bates  <bates@stat.wisc.edu>
1617    
1618            * R/pedigree.R, R/AllClass.R, NAMESPACE: added a pedigree class
1619            and methods for it.
1620    
1621    2006-04-12  Martin Maechler  <maechler@stat.math.ethz.ch>
1622    
1623            * R/dgCMatrix.R: add  storage.mode(.) <- "double" for "matrix"
1624            arguments, such that M %*% 1:6 now works
1625            * Tests/matprod.R: test the above
1626    
1627    2006-04-03  Douglas Bates  <bates@stat.wisc.edu>
1628    
1629            * R/lmer.R (qqmath,ranef.lmer-method): added a qqmath method for
1630            the ranef.lmer class.
1631    
1632            * R/AllClass.R, NAMESPACE, R/lmer.R: Added a postVar generic and
1633            methods to extract the posterior variances from the bVar slot.
1634    
1635    2006-03-30  Martin Maechler  <maechler@stat.math.ethz.ch>
1636    
1637            * R/dtCMatrix.R: allow coercion from  dgC* to triangular (dtC*)
1638            * R/dsCMatrix.R: and symmetric (dsC*) 'Csparse' matrices.
1639    
1640            * R/Tsparse.R: Tsparse* -> Csparse* coercion now works and is tested in
1641            * tests/simple: (extended)
1642    
1643            * R/sparseMatrix.R (isTriangular): now using much improved
1644            * R/Auxiliaries.R (isTriC): new triangularity check for *CMatrix
1645    
1646    2006-03-23  Douglas Bates  <bates@stat.wisc.edu>
1647    
1648            * src/dsyMatrix.c (dsyMatrix_as_dspMatrix): Propagate DimNames
1649            (problem report from Franklin Parlamis).  This should be done
1650            generally.
1651    
1652    2006-03-21  Douglas Bates  <bates@stat.wisc.edu>
1653    
1654            * R/AllClass.R,lmer.R: Change the name of the lmer.ranef class to
1655            ranef.lmer (like summary.lmer).  Add the coef.lmer class and
1656            update the plot methods.
1657    
1658    2006-03-20  Douglas Bates  <bates@stat.wisc.edu>
1659    
1660            * R/lmer.R (resid and ranef methods):  Added methods for the
1661            "residuals" and "resid" generic but only for linear mixed model
1662            fits.  Changed the ranef method to return a list of data frames so
1663            that the plot methods now work.
1664    
1665    2006-03-16  Douglas Bates  <bates@bates2>
1666    
1667            * src/dpoMatrix.c (dpoMatrix_chol): Require n > 0 in call to
1668            dpotrf - otherwise the BLAS on Mac OS X complains and quits.
1669    
1670            * DESCRIPTION (Date): New release
1671    
1672    2006-03-15  Martin Maechler  <maechler@stat.math.ethz.ch>
1673    
1674            * DESCRIPTION (Version): 0.995-6  -- to be released to CRAN
1675    
1676            * data/KNex.rda: replacing 'mm' and 'y' by KNex <- list(mm=mm, y=y)
1677            * man/KNex.Rd: and other help files
1678            * tests/*.R: several ones needed adaption
1679            * inst/doc/Comparisons.Rnw: ditto
1680    
1681    2006-03-11  Martin Maechler  <maechler@stat.math.ethz.ch>
1682    
1683            * R/dgCMatrix.R (replCmat): "[<-" methods for dgCMatrix
1684    
1685            * tests/indexing.R: tests for new [<- methods for sparse matrices.
1686    
1687    2006-03-10  Martin Maechler  <maechler@stat.math.ethz.ch>
1688    
1689            * R/dgTMatrix.R (replTmat): "[<-" methods for dgTMatrix
1690    
1691            * R/Tsparse.R (.ind.prep): fix out-of-range indexing
1692    
1693    2006-03-08  Martin Maechler  <maechler@stat.math.ethz.ch>
1694    
1695            * R/dMatrix.R: enable things like  M [ M < 10 ]
1696            * R/dgeMatrix.R: implement it
1697    
1698    2006-03-06  Martin Maechler  <maechler@stat.math.ethz.ch>
1699    
1700            * R/AllClass.R: define "summary.mer" and "*.lmer"
1701            * R/lmer.R (summary): summary(<mer>) computes & returns the above;
1702            * R/lmer.R (show): now works with summary()
1703    
1704    2006-03-04  Martin Maechler  <maechler@stat.math.ethz.ch>
1705    
1706            * R/dgCMatrix.R: finally direct "Arith"  dgC o dgC
1707            * R/Auxiliaries.R (WhichintersectInd): and other utilities to
1708                    support the above
1709    
1710    2006-02-07  Douglas Bates  <bates@stat.wisc.edu>
1711    
1712            * R/lmer.R (lmer): fix initial values of offset and weights for glm.fit.
1713            Use glmFit$prior.weights for weights in a glmm.
1714            Allow an option usePQL = FALSE to skip the PQL steps for the
1715            Laplace method (and, in time, the AGQ method).
1716    
1717            * src/lmer.c (mer_factor): Move downdating and factoring of XtX
1718            into a separate function internal_mer_Xfactor to be able to call
1719            it from internal_bhat.
1720    
1721    2006-01-23  Martin Maechler  <maechler@stat.math.ethz.ch>
1722    
1723            * tests/Class+Meth.R (tstMatrixClass): function for much better
1724            testing; now again of all actual classes.
1725    
1726            * src/Mutils.c (MAKE_TRIANGULAR_BODY, MAKE_SYMMETRIC_BODY):
1727                    use macros and define make_d_matrix_* and make_i_matrix_*
1728                    where _i_ is for the ldense routines:
1729    
1730            * src/ldense.c (ltrMatrix_as_lgeMatrix): provide functions
1731            * src/ldense.c (lsyMatrix_as_lgeMatrix):
1732    
1733            * R/ldenseMatrix.R: use the above in setAs(*,"lgeMatrix")
1734    
1735    
1736    2006-01-16  Martin Maechler  <maechler@stat.math.ethz.ch>
1737    
1738            * R/Matrix.R (Matrix): has become much "smarter" now auto-producing
1739                    many different kinds of matrices.
1740            * R/*.R: quite a few new methods were needed for R CMD check with
1741                    new Matrix().  Very good for users playing around.
1742    
1743    
1744    2006-01-15  Martin Maechler  <maechler@stat.math.ethz.ch>
1745    
1746            * src/dgeMatrix.c (dMatrix_validate): new
1747            * src/Mutils.c (dense_nonpacked_validate): new
1748    
1749            * src/dtrMatrix.c (dtrMatrix_validate): improved/fixed
1750    
1751    
1752    2006-01-14  Douglas Bates  <bates@stat.wisc.edu>
1753    
1754            * R/AllClass.R (compMatrix), (generalMatrix): new virtual classes
1755    
1756    2006-01-07  Douglas Bates  <bates@stat.wisc.edu>
1757    
1758            * DESCRIPTION (Version): 0.99-6 released to CRAN
1759    
1760            * src/dgBCMatrix.c (cscb_trcbsm): Fix due to Peter Dalgaard for
1761            segfault in cases with multiple non-nested grouping factors.
1762    
1763    2006-01-03  Martin Maechler  <maechler@stat.math.ethz.ch>
1764    
1765            * DESCRIPTION (Version): 0.99-4 to be released to CRAN
1766                    (Depends): also on 'utils'
1767    
1768            * R/AllClass.R (diagonalMatrix): new class with "ddi*" and "ldi*"
1769            * R/diagMatrix.R (Diagonal): constructor and methods for
1770            diagonal matrices
1771    
1772            * R/ltTMatrix.R: new "minimal methods"
1773    
1774    2005-12-12  Martin Maechler  <maechler@stat.math.ethz.ch>
1775    
1776            * R/AllGeneric.R (tcrossprod): 2-argument version; here, and for
1777            all methods (and help files).
1778    
1779    2005-12-09  Martin Maechler  <maechler@stat.math.ethz.ch>
1780    
1781            * R/Auxiliaries.R (dimNamesCheck): fixed thinko -> bug
1782                    for case (dimn.  op  no_dimn.)
1783    
1784    2005-11-14  Douglas Bates  <bates@stat.wisc.edu>
1785    
1786            * DESCRIPTION (Version): 0.99-2  released to CRAN
1787    
1788    2005-10-21  Douglas Bates  <bates@stat.wisc.edu>
1789    
1790            * R/lmer.R (simulate method): Fixed a drop=FALSE problem reported
1791            by Julian Faraway.
1792    
1793    2005-10-06  Martin Maechler  <maechler@stat.math.ethz.ch>
1794    
1795            * R/Auxiliaries.R (try_as): new utility
1796            * R/sparseMatrix.R: use try_as() in coercion to original class
1797    
1798    2005-09-30  Martin Maechler  <maechler@stat.math.ethz.ch>
1799    
1800            * src/dgCMatrix.c (double_to_csc): and dgeMatrix_to_csc()
1801    
1802    2005-09-29  Martin Maechler  <maechler@stat.math.ethz.ch>
1803    
1804            * R/Auxiliaries.R (dimNamesCheck): added
1805    
1806            * R/Matrix.R (as.array), (as.vector): new
1807    
1808    2005-09-28  Martin Maechler  <maechler@stat.math.ethz.ch>
1809    
1810            * R/Matrix.R (Matrix): get logical argument 'sparse' with a smart
1811                    default.
1812            * R/AllClass.R: move 'factors' slot toplevel "Matrix";
1813                    "pMatrix" now contains "sparseMatrix"
1814    
1815    2005-09-26  Martin Maechler  <maechler@stat.math.ethz.ch>
1816    
1817            * tests/Class+Meth.R: new tests; t(t(m)) == m
1818    
1819            * src/dtCMatrix.c (tsc_transpose): add forgotten "diag" slot
1820    
1821            * src/dsTMatrix.c (dsTMatrix_as_dsCMatrix): bad typo (segfault!)
1822            * src/dtTMatrix.c (dtTMatrix_as_dtCMatrix): new
1823    
1824            * R/dspMatrix.R: typo in "t" method
1825    
1826    2005-09-18  Douglas Bates  <bates@wisc.edu>
1827    
1828            * R/AllClass.R (TsparseMatrix), CsparseM* and RsparseM*
1829            * R/Tsparse.R: instead of R/gTMatrix.R
1830            * R/Csparse.R: new
1831            * src/Tsparse.c (Tsparse_to_Csparse): new; -> cholmod_()
1832            * src/Tsparse.c: new; many trivial methods calling cholmod_()
1833            * src/Csparse.c (Csparse_to_Tsparse), transpose, (mat|cross)prod:
1834                            via cholmod
1835    
1836    2005-09-16  Martin Maechler  <maechler@stat.math.ethz.ch>
1837    
1838            * R/Auxiliaries.R (non0ind): new function using new C code
1839            * src/dgCMatrix.c (compressed_non_0_ij): new utility
1840    
1841    2005-09-15  Douglas Bates  <bates@localhost.localdomain>
1842    
1843            * src/chm_common.h: header file required by all C sources that
1844            call CHOLMOD functions.  It defines a cholmod_common structure
1845            called 'c' whose address is passed as the last argument to
1846            (virtually) every CHOLMOD function.
1847    
1848            * src/Pattern.c: Simple example of the use of CHOLMOD.
1849    
1850            * src/init.c: initialize and finalize the cholmod_common structure.
1851    
1852            * src/Makefile: Added source packages CHOLMOD UMFPACK AMD COLAMD
1853            LDL and CCOLAMD from the U. of Florida sparse matrix library.
1854    
1855    2005-09-08  Martin Maechler  <maechler@stat.math.ethz.ch>
1856    
1857            * inst/test-tools.R: new file collecting the utility functions used
1858                    in ./tests/*.R
1859    
1860            * R/ddenseMatrix.R (cbind2): new methods for "numeric" and "matrix"
1861            * R/Matrix.R (cbind2): methods for NULL and missing
1862    
1863    2005-08-31  Martin Maechler  <maechler@stat.math.ethz.ch>
1864    
1865            * R/AllClass.R: new "index" class for "[" and "[<-":
1866                    First cut at "symmetricMatrix" and "triangularMatrix"
1867            * R/gTMatrix.R (.ind.prep): new function;
1868                    Logical and character indexing now work too.
1869            * R/Matrix.R: cheap "[<-" methods for denseMatrix now work
1870            * tests/indexing.R: new, including *.Rout.save
1871            * tests/dgTMatrix.R: new
1872    
1873    2005-08-29  Douglas Bates  <bates@wisc.edu>
1874    
1875            * src/dgTMatrix.c (graphNEL_as_dgTMatrix): Corrected the position
1876            indicator pos not being updated.  Also enforced upper triangular
1877            for symmetric case.  Need to coerce edges component of elements of
1878            edge list - grr! (Why don't they define their classes cleanly?)
1879    
1880    2005-08-26  Martin Maechler  <maechler@stat.math.ethz.ch>
1881    
1882            * R/Matrix.R:  added first "[<-" methods; not yet functional
1883            * R/denseMatrix.R: ditto
1884            * man/Subassign-methods.Rd: new help file for these
1885    
1886    2005-08-25  Martin Maechler  <maechler@stat.math.ethz.ch>
1887    
1888            * DESCRIPTION (Version): 0.98-6
1889    
1890            * R/denseMatrix.R: new file for "[" fallback methods for all dense
1891            matrices.
1892    
1893    2005-08-19  Martin Maechler  <maechler@stat.math.ethz.ch>
1894    
1895            * src/lgCMatrix.c (lcsc_to_matrix): new; need for
1896                    as( <logical>, "matrix")
1897    
1898            * R/pMatrix.R: coercion to "lgTMatrix"
1899    
1900            * R/gTMatrix.R: new virtual class to define "[" methods for.
1901            * man/gTMatrix-class.Rd:
1902            * General slight re-organization of where "[" methods are defined.
1903              more to come.
1904    
1905    2005-08-18  Douglas Bates  <bates@wisc.edu>
1906    
1907            * DESCRIPTION (Version): 0.98-5  released to CRAN
1908    
1909            * src/dgTMatrix.c (graphNEL_as_dgTMatrix): add first graphNEL methods
1910            * .....
1911    
1912    2005-08-18  Douglas Bates  <bates@localhost.localdomain>
1913    
1914            * R/lmer.R: Corrected naming scheme in mcmcsamp to work with lmer
1915            or glmer objects.
1916    
1917    2005-08-17  Martin Maechler  <maechler@stat.math.ethz.ch>
1918    
1919            * DESCRIPTION (Version): 0.98-4 : upload to CRAN
1920    
1921    2005-08-16  Douglas Bates  <bates@localhost.localdomain>
1922    
1923            * R/HBMM.R: finish re-writing R-only code.
1924    
1925    2005-08-15  Douglas Bates  <bates@localhost.localdomain>
1926    
1927            * man/externalFormats.Rd: move documentation for writeHB and
1928            writeMM here.
1929    
1930            * src/mmio.c: replace inclusion of <malloc.h> by <stdlib.h>
1931            (suggested by Paul Roecker).
1932    
1933            * tests/validObj.R (assertError): Comment out test that is failing
1934            after recent changes in r-devel.
1935    
1936    
1937    2005-08-11  Martin Maechler  <maechler@stat.math.ethz.ch>
1938    
1939            * R/AllClass.R: intermediate virtual class "denseMatrix"
1940            * man/denseMatrix-class.Rd
1941            * NAMESPACE: export it, and also export
1942            * man/unused-classes.Rd: "iMatrix", "zMatrix" and "ldenseMatrix"
1943    
1944    2005-08-10  Douglas Bates  <bates@wisc.edu>
1945    
1946            * DESCRIPTION (Version): 0.98-3 to CRAN
1947    
1948            * src/dtrMatrix.c (dtrMatrix_validate): fixed up validation and
1949            matrix_solve code (which was really, really wrong).
1950    
1951    2005-08-07  Douglas Bates  <bates@wisc.edu>
1952    
1953            * DESCRIPTION (Version): 0.98-2
1954    
1955            * R/HBMM.R (readHB), (readMM): read Matrix Market formats
1956    
1957            * R/lmer.R (abbrvNms): new
1958            * R/lmer.R (mcmcsamp): allow transformed parameters
1959            * src/HBMM.c (Matrix_writeMatrixMarket): Added read/write routines
1960            for the Harwell-Boeing and the MatrixMarket formats.
1961    
1962    2005-08-04  Martin Maechler  <maechler@stat.math.ethz.ch>
1963    
1964            * man/dtrMatrix-class.Rd: add examples
1965            * man/dtpMatrix-class.Rd: ditto; plus note about PROBLEM
1966    
1967            * TODO: note the dtpMatrix (docu) bug
1968    
1969            * R/zzz.R (.onLoad): assignInNamespace("as.matrix", *, "base")
1970            in order to ensure that new as.matrix() is used by old functions,
1971            e.g., svd(), qr(), eigen(), dist(),..;
1972                  apply(), also matplot() or pairs().
1973    
1974    
1975    2005-08-03  Martin Maechler  <maechler@stat.math.ethz.ch>
1976    
1977            * R/lmer.R: add 'fixme' comments and move the linear vs glm check;
1978              add comments about 'control' / lmerControl() arguments
1979    
1980    2005-07-27  Douglas Bates  <bates@wisc.edu>
1981    
1982            * man/sleepstudy.Rd: Added the sleep data set.
1983            * DESCRIPTION (Version): 0.98-1  released to CRAN
1984    
1985    2005-07-12  Douglas Bates  <bates@wisc.edu>
1986            * man/sleepstudy.Rd: Added the sleep data set.
1987    
1988            * R/lmer.R (glmmMCMC): Added PACKAGE = "Matrix" in a couple of
1989            .Call calls that were producing spurious output.
1990    
1991    2005-07-05  Douglas Bates  <bates@wisc.edu>
1992    
1993            * R/lmer.R (lmer): stored updated variance component estimates in
1994            mer object for the generalized model.  (Bug reported by Renaud
1995            Lancelot).
1996    
1997    2005-07-03  Douglas Bates  <bates@wisc.edu>
1998    
1999            * src/lmer.c (glmer_devAGQ): Added AGQ for single grouping factor,
2000            unidimensional case.
2001    
2002    2005-06-08  Douglas Bates  <bates@wisc.edu>
2003    
2004            * DESCRIPTION (Version): 0.96-1
2005    
2006            * moved  lmer-class' R and C code moved from lme4 to here
2007    
2008    2005-06-04  Douglas Bates  <bates@wisc.edu>
2009    
2010            * R/dgCMatrix.R: Call to csc_matrix_mm used undefined arguments
2011            (reported by Guissepe Ragusa <gragusa@ucsd.edu>)
2012    
2013    2005-06-02  Douglas Bates  <bates@wisc.edu>
2014    
2015            * src/Makefile.win: Forgot to update this when Makefile changed.
2016    
2017    2005-05-11  Douglas Bates  <bates@wisc.edu>
2018    
2019            * src/dgCMatrix.c (csc_transpose): Simplified function fixing a
2020            bug reported by Kurt Hornik and Michael Hahsler.
2021    
2022    2005-05-10  Douglas Bates  <bates@wisc.edu>
2023    
2024            * src/lgCMatrix.c (Matrix_lgClgCmm): Implementation of methods for
2025            logical sparse matrices.  These will also be used in the symbolic
2026            analysis for lmer objects.
2027    
2028            * src/dsCMatrix.c (dsCMatrix_matrix_solve): Copied the dimensions
2029            of b to the result.  Fixes bug reported by Jean.Coursol@math.u-psud.fr
2030    
2031    2005-05-06  Douglas Bates  <bates@wisc.edu>
2032    
2033            * src/dgeMatrix.c (dgeMatrix_colsums): Added an implementation of
2034            colMeans, colSums, rowMeans and rowSums.
2035    
2036    2005-04-18  Douglas Bates  <bates@wisc.edu>
2037    
2038            * src/lgCMatrix.[ch]: code for _validate method and stub for
2039            multiplication operation.
2040    
2041            * src/dgeMatrix.c (dgeMatrix_matrix_solve): Passing wrong argument
2042            to dgetrs.
2043    
2044            * src/init.c: Fix cut-and-paste error in definition of
2045            dgeMatrix_matrix_solve
2046    
2047            * src/{many files}: Tighten code by using ALLOC_SLOT.
2048    
2049    2005-04-15  Douglas Bates  <bates@wisc.edu>
2050    
2051            * R/AllClass.R: Add lgTMatrix and lgCMatrix classes
2052    
2053            * DESCRIPTION: Eliminate import of stats.
2054    
2055    
2056    2005-04-06  Douglas Bates  <bates@wisc.edu>
2057    
2058            * R/AllClass.R : add logical sparse matrix classes
2059    
2060    2005-04-01  Martin Maechler  <maechler@stat.math.ethz.ch>
2061    
2062            * R/dgTMatrix.R: add "[" method for triplet matrices
2063            * R/sparseMatrix.R: and other sparse ones; --> add show() for sparse
2064    
2065    2005-03-31  Douglas Bates  <bates@wisc.edu>
2066    
2067            * DESCRIPTION (Version): release 0.95-5 to CRAN
2068    
2069            * R/dMatrix.R: add %*%, crossprod and solve "fallback" methods
2070            * R/sparseMatrix.R: %*%, crossprod()
2071            * R/dgeMatrix.R: more "fallback" methods for numeric/dense matrices
2072            * man/*.Rd: move method definitions to 'Matrix' and 'dMatrix'
2073            * src/lmer.c (lmer_fitted): fix thinko
2074    
2075    2005-03-26  Martin Maechler  <maechler@stat.math.ethz.ch>
2076    
2077            * R/AllClass.R: add two virtual sparse classes ``on top''
2078    
2079    2005-03-24  Martin Maechler  <maechler@stat.math.ethz.ch>
2080    
2081            * R/AllClass.R (setClass): use "VIRTUAL" for the virtual classes;
2082                    correspondingly fix examples and tests/ since new()
2083                    doesn't work for virtual classes.
2084    
2085    2005-03-17  Martin Maechler  <maechler@stat.math.ethz.ch>
2086    
2087            * R/Matrix.R (as.matrix): method and one for unname()
2088            * tests/dpoMatrix.R: tests should now be less platform dependent;
2089              also run for R 2.1.0; using as.matrix()
2090    
2091    2005-03-15  Douglas Bates  <bates@wisc.edu>
2092    
2093            * R/pMatrix.R: "pMatrix" class added
2094            * ....
2095    
2096    2005-03-14  Douglas Bates  <bates@wisc.edu>
2097    
2098            * R/dtpMatrix.R: Add unpack method and an example.
2099    
2100            * src/dsyMatrix.c (dsyMatrix_trf): Add BunchKaufman factorization
2101            of general symmetric matrices and associated S4 methods.
2102    
2103    2005-03-10  Martin Maechler  <maechler@stat.math.ethz.ch>
2104            +
2105    2005-03-05  Martin Maechler  <maechler@stat.math.ethz.ch>
2106    
2107            * R/dgeMatrix.R (setAs): and many other files: more coercion,
2108              crossprod() and "%*%" methods added; tests, too.
2109            * tests/matprod.R: new, for testing these
2110    
2111    2005-03-03  Douglas Bates  <bates@wisc.edu>
2112    
2113            * src/lmer.c (lmer_fitted): Added.
2114    
2115    2005-03-02  Douglas Bates  <bates@wisc.edu>
2116    
2117            * R/dsTMatrix.R: Conversion from dsTMatrix to dsCMatrix
2118    
2119    2005-02-28  Douglas Bates  <bates@wisc.edu>
2120    
2121            * src/*.c,po/,inst/po: Internationalization and localization of
2122            the package.
2123    
2124            * src/ldl.[ch]: Removed these as their contents are referenced in the
2125            R_ldl.c file.
2126    
2127            * src/flame.[ch]: Removed these source files.
2128    
2129            * src/dtrMatrix.c (make_array_triangular): Move to Mutils
2130    
2131            * src/LU.[ch],src/init.c: absorb in factorizations
2132    
2133            * src/Mutils.h: prepare for internationalization
2134    
2135            * src/cblas.h: move the enum definitions to Mutils.h and remove
2136            this file
2137    
2138    2005-02-26  Martin Maechler  <maechler@stat.math.ethz.ch>
2139    
2140            * R/dgeMatrix.R: provide "dimnames" and "dimnames<-" methods
2141    
2142            * R/dtrMatrix.R: fix t() method
2143    
2144            * R/dgeMatrix.R: define group methods "Arith", "Math", "Math2"
2145            * NAMESPACE: export them (and import generics from "methods")
2146            * tests/group-methods.R : and test them.
2147    
2148            * src/dtrMatrix.c (dtrMatrix_as_dgeMatrix): prevent seg.fault in
2149            border case
2150    
2151    2005-02-24  Douglas Bates  <bates@stat.wisc.edu>
2152    
2153            * DESCRIPTION (Version): 0.95-2  released to CRAN
2154    
2155            * src/dgBCMatrix.c:
2156            * src/lmer.c: many changes
2157            * ...
2158    
2159    2005-02-04  Martin Maechler  <maechler@stat.math.ethz.ch>
2160    
2161            * R/Matrix.R: add more sophisticated show() method.
2162    
2163    2005-02-02  Douglas Bates  <bates@stat.wisc.edu>
2164    
2165            * */* : almost complete reorganization of classes.
2166    
2167    2005-01-26  Douglas Bates  <bates@wisc.edu>
2168    
2169            * R/AllGeneric.R: Added matrix exponential generic expm and a method
2170            for the geMatrix class.
2171    
2172    2005-01-24  Douglas Bates  <bates@wisc.edu>
2173    
2174            * src/Makefile (clean): Remove *.a and *.so
2175    
2176            * man/cscBlocked-class.Rd: Remove reference to the lmer-class.
2177    
2178    2005-01-23  Douglas Bates  <bates@wisc.edu>
2179    
2180            * src/lmer.c (Lind): Definition of Lind was backwards.  This only
2181            had an effect in cases with more than 2 grouping factors.
2182    
2183    2005-01-03  Douglas Bates  <bates@wisc.edu>
2184    
2185            * src/lmeRep.c (lmer_variances): change from lmeRep to lmer
2186    
2187    2004-12-23  Douglas Bates  <bates@wisc.edu>
2188    
2189            * src/init.c (R_init_Matrix): Reorder calls to R_registerRoutines
2190            and R_useDynamicSymbols (suggested by B.D.Ripley).
2191    
2192    2004-12-14  Douglas Bates  <bates@wisc.edu>
2193    
2194            * R/sscMatrix.R: Add determinant methods
2195    
2196            * src/triplet.[ch],src/init.c (triplet_to_matrix): Add a coercion
2197            for tripletMatrix to matrix.
2198    
2199    2004-12-13  Douglas Bates  <bates@wisc.edu>
2200    
2201            * R/AllClass.R (.onLoad): Eliminate the bbCrosstab class, which is
2202            no longer used.
2203    
2204            * src/R_ldl.c: Created an R-specific version of the ldl.[ch] files
2205            with dynamic allocation of scratch arrays.
2206    
2207            * src/ssclme.c (ssclme_copy_ctab): Fixed bug in creation of ZtZ
2208            for multivariate random effects with multiple grouping factors.
2209            Fixes part but not all of #15.
2210    
2211    2004-12-03  Douglas Bates  <bates@wisc.edu>
2212    
2213            * src/lmeRep.c (lmeRep_factor): order of operations for multiple
2214            scalar grouping factors corrected.
2215    
2216    2004-11-29  Douglas Bates  <bates@wisc.edu>
2217    
2218            * src/bCrosstab.c: remove diag_update which is no longer used
2219    
2220    2004-11-16  Douglas Bates  <bates@wisc.edu>
2221    
2222          * src/Metis_utils.c: Move metis.h include to C sources so that the          * src/Metis_utils.c: Move metis.h include to C sources so that the
2223          .h file can be included.          .h file can be included.
2224    
2225  2004-11-12  Douglas Bates  <bates@bates1-home>  2004-11-12  Douglas Bates  <bates@wisc.edu>
2226    
2227          * src/LU.c,geMatrix.c,trMatrix.c, etc.:          * src/LU.c,geMatrix.c,trMatrix.c, etc.:
2228          Complete allocation of slots in NEW_OBJECT.          Complete allocation of slots in NEW_OBJECT.
2229    
2230          * src/Mutils.h: Moved list of symbols to an include file          * src/Mutils.h: Moved list of symbols to an include file
2231    
2232  2004-11-11  Douglas Bates  <bates@bates1-home>  2004-11-11  Douglas Bates  <bates@wisc.edu>
2233    
2234          * src/geMutils.c (Matrix_init): remove unused function          * src/geMutils.c (Matrix_init): remove unused function
2235    
2236  2004-11-10  Douglas Bates  <bates@bates1-home>  2004-11-10  Douglas Bates  <bates@wisc.edu>
2237    
2238          * src/cscMatrix.c (csc_to_imagemat): removed unused function          * src/cscMatrix.c (csc_to_imagemat): removed unused function
2239    
2240  2004-11-05  Douglas Bates  <bates@bates1-home>  2004-11-05  Douglas Bates  <bates@wisc.edu>
2241    
2242          * src/Makefile.win (SOURCES_C): Keep consistent with Makefile          * src/Makefile.win (SOURCES_C): Keep consistent with Makefile
2243    
2244  2004-10-27  Douglas Bates  <bates@bates1-home>  2004-10-27  Douglas Bates  <bates@wisc.edu>
2245    
2246          * R/pdmatrix.R: remove PACKAGE="Matrix" in .Call calls          * R/pdmatrix.R: remove PACKAGE="Matrix" in .Call calls
2247    
2248  2004-10-04  Douglas Bates  <bates@bates1-home>  2004-10-04  Douglas Bates  <bates@wisc.edu>
2249    
2250          * src/init.c: Created R_init_Matrix and added registration of C          * src/init.c: Created R_init_Matrix and added registration of C
2251          routines.          routines.
2252    
2253  2004-10-02  Douglas Bates  <bates@bates1-home>  2004-10-02  Douglas Bates  <bates@wisc.edu>
2254    
2255          * R/tripletMatrix.R: Force a require(lattice) for the image methods.          * R/tripletMatrix.R: Force a require(lattice) for the image methods.
2256    
2257  2004-06-15  Douglas Bates  <bates@bates7>  2004-06-15  Douglas Bates  <bates@wisc.edu>
2258    
2259          * man/trMatrix-class.Rd: Escape the % chars in .Rd files.          * man/trMatrix-class.Rd: Escape the % chars in .Rd files.
2260    

Legend:
Removed from v.350  
changed lines
  Added in v.2061

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