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

Legend:
Removed from v.388  
changed lines
  Added in v.2056

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