SCM

SCM Repository

[matrix] Diff of /pkg/ChangeLog
ViewVC logotype

Diff of /pkg/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

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

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

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