SCM

SCM Repository

[matrix] Diff of /pkg/ChangeLog
ViewVC logotype

Diff of /pkg/ChangeLog

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

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

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

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