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

Legend:
Removed from v.392  
changed lines
  Added in v.1911

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