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

Legend:
Removed from v.848  
changed lines
  Added in v.1945

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