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

Legend:
Removed from v.726  
changed lines
  Added in v.1947

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