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 1298, Sat Jun 10 19:56:18 2006 UTC revision 1922, Sat Jun 23 18:08:48 2007 UTC
# Line 1  Line 1 
1    2007-06-21  Martin Maechler  <maechler@stat.math.ethz.ch>
2    
3            * NAMESPACE, R/AllClass.R: "xsparseVector" class union.
4    
5            * R/sparseVector.R: more *sparseVector coercions, notably for
6            non - double ones.
7    
8    
9    2007-06-19  Martin Maechler  <maechler@stat.math.ethz.ch>
10    
11            * R/colSums.R: new file for all (col|row)(Sums|Means) methods,
12              notably the new ones building on the new .Call(.)s:
13    
14            * src/dgCMatrix.c (DEF_gCMatrix_COLSUMS): use to define
15            all 4 of [dlin]gCMatrix_colSums().
16    
17    2007-06-18 16:12  Douglas Bates <bates@stat.wisc.edu>
18    
19            * [r4472] src/Syms.h, src/init.c: Added Matrix_lengthSym
20            * [r4473] src/dgCMatrix.c: Modified dgCMatrix_colSums for sparseVector
21              result
22    
23    2007-06-16  Martin Maechler  <maechler@stat.math.ethz.ch>
24    
25            * R/kronecker.R: fix typo (could lead to inf.recursion)
26            * test/simple.R: testing that
27    
28            * R/sparseMatrix.R (prSpMatrix): change to be used as print()
29            method as well (which can have arguments, show() can't).
30    
31    2007-06-16 15:52  Douglas Bates <bates@stat.wisc.edu>
32    
33            * [r4466] R/dgCMatrix.R, src/dgCMatrix.c, src/dgCMatrix.h, src/init.c:
34              added dgCMatrix_colSums for [col,row][Sums,Means]
35    
36    2007-06-15 23:15  Douglas Bates <bates@stat.wisc.edu>
37    
38            * [r4460] R/sparseMatrix.R, man/dgCMatrix-class.Rd, src/dgCMatrix.c,
39              src/dgCMatrix.h, src/init.c: added lm.fit.sparse (unexported),
40              coercion of "factor" to "dgCMatrix" and dgCMatrix_cholsol
41            * [r4461] R/AllClass.R, man/sparseMatrix-class.Rd: draft "indicators"
42              class
43            * [r4463] R/sparseMatrix.R, man/dgCMatrix-class.Rd,
44              man/sparseMatrix-class.Rd: Don't need an "indicators" class - use the
45              row names to store the levels - duh!  Added an example.
46    
47    2007-06-14  Martin Maechler  <maechler@stat.math.ethz.ch>
48    
49            * src/Csparse.c (Csparse_validate): check for *repeated* entries
50            thanks to example from Christian Buchta; with a test here:
51            * tests/simple.R:
52    
53    2007-06-07  Martin Maechler  <maechler@stat.math.ethz.ch>
54    
55            * R/Auxiliaries.R (callGeneric): another fix, needed for some cases
56            of colSums(*, sparseResult = TRUE)
57    
58    2007-06-06  Martin Maechler  <maechler@stat.math.ethz.ch>
59    
60            * R/lsparseMatrix.R, R/ldenseMatrix.R (all, any): change default to
61            'na.rm = FALSE' as "everywhere" else in R.
62    
63    2007-06-05 Douglas Bates <bates@stat.wisc.edu>
64    
65            * [r4421] src/CSparse_install.sh: Modify for new organization of
66              CSparse package
67            * [r4425] src/UFsparse_download.sh: Update to version 3.0.0 of
68              SuiteSparse
69            * [r4426] src/Makefile: add ./UFconfig to the include path for
70              compilation
71            * [r4427] src/cs.[ch]: update to CSparse version 2.2.0
72            * [r4428] inst/doc/UFsparse/* src/{AMD,CHOLMOD,COLAMD}/*
73              src/UFconfig/UFconfig.h: Update to version 3.0.0 of SuiteSparse
74    
75    2007-06-05  Martin Maechler  <maechler@stat.math.ethz.ch>
76    
77            * R/Auxiliaries.R (emptyColnames): + argument msg.if.not.empty, used in
78            * R/sparseMatrix.R (prSpMatrix): now gives a message about
79            suppressed column names.
80    
81    2007-06-04 17:13  Douglas Bates <bates@stat.wisc.edu>
82    
83            * [r4418] src/Csparse.c, src/HBMM.c, src/Mutils.c, src/Mutils.h,
84              src/Tsparse.c, src/chm_common.c, src/chm_common.h, src/dgCMatrix.c,
85              src/dgeMatrix.c, src/dpoMatrix.c, src/dpoMatrix.h, src/dppMatrix.c,
86              src/dppMatrix.h, src/dsCMatrix.c, src/dspMatrix.c, src/dspMatrix.h,
87              src/dsyMatrix.c, src/dsyMatrix.h, src/dtpMatrix.c, src/dtrMatrix.c:
88              Remove warnings after change to const char* CHAR
89    
90    2007-06-04 17:11  Douglas Bates <bates@stat.wisc.edu>
91    
92            * [r4417] inst/include/Matrix_stubs.c, inst/include/cholmod.h: Corrected
93              type of M_cholmod_ssmult
94    
95    2007-06-03 14:42  Douglas Bates <bates@stat.wisc.edu>
96    
97            * [r4412] inst/include/Matrix_stubs.c, inst/include/cholmod.h,
98              src/init.c: Yet another cholmod export - cholmod_ssmult
99    
100    2007-05-23  Martin Maechler  <maechler@stat.math.ethz.ch>
101    
102            * NAMESPACE: exported drop0(), since
103            * man/drop0.Rd: I have seen several cases, I really wanted to use
104            it, so our users may want too.
105    
106    2007-05-22  Martin Maechler  <maechler@stat.math.ethz.ch>
107    
108            * man/colSums.Rd: separately document colSums() etc, since these
109            have the extra argument 'sparseResult'.
110    
111    2007-05-21  Martin Maechler  <maechler@stat.math.ethz.ch>
112    
113            * R/sparseMatrix.R (spMatrix): utility (T)sparse Matrix constructor;
114            * man/spMatrix.Rd: docu., including examples
115    
116            * R/Auxiliaries.R (sp.colMeans): etc, using a patched callGeneric(),
117            in order to make colMeans() etc fast *and* correct.
118            * R/sparseVector.R (replSPvec): "[<-" functionality for
119            sparseVectors; tested in
120            * tests/simple.R:
121    
122    2007-05-19  Martin Maechler  <maechler@stat.math.ethz.ch>
123    
124            * R/sparseMatrix.R (print.sparseSummary): and summary() method for
125            (very) sparse Matrices; output similar to Matlab's print().
126    
127    2007-05-17  Douglas Bates  <bates@stat.wisc.edu>
128    
129            * src/HBMM.c (Matrix_writeMatrixMarket): Write 1-based, not
130            0-based, indices (Jose Quesada <quesada@gmail.com>).
131    
132    2007-05-16  Douglas Bates  <bates@stat.wisc.edu>
133    
134            * R/CHMfactor.R: Added solve methods for a CHMfactor object.
135    
136    2007-05-16  Martin Maechler  <maechler@stat.math.ethz.ch>
137    
138            * R/Auxiliaries.R (sparsapply): new utility, much faster than
139            tapply1() for large sparse matrices.
140    
141    2007-05-15  Martin Maechler  <maechler@stat.math.ethz.ch>
142    
143            * R/Matrix.R (dim<-): reshape now via sparseVector.
144    
145            * R/sparseVector.R: methods and function for
146            * R/AllClass.R: new "sparseVector" class and daughters.
147            * NAMESPACE: export new classes
148    
149    2007-05-14  Martin Maechler  <maechler@stat.math.ethz.ch>
150    
151            * DESCRIPTION (Version): 0.99875-1
152            * src/Makefile.win: also remove Lapack code from here (cf. 04-25).
153    
154    2007-05-11  Martin Maechler  <maechler@stat.math.ethz.ch>
155    
156            * R/Tsparse.R ([, Tsparse): fix last case: *duplicated*, symmetric
157            indexing
158            * tests/indexing.R: test set for that.
159    
160    2007-05-08  Martin Maechler  <maechler@stat.math.ethz.ch>
161    
162            * R/Tsparse.R (replTmat): fix the case of *duplicated* index
163            entries.
164            * tests/indexing.R(out): add regression test for it
165    
166    2007-04-30  Martin Maechler  <maechler@stat.math.ethz.ch>
167    
168            * R/(l(dense|sparse))?Matrix.R (!): use 'x', not 'e1' as argument
169            name for "!" method definitions.
170    
171    2007-04-26  Martin Maechler  <maechler@stat.math.ethz.ch>
172    
173            * R/Tsparse.R (intI): new utility, used for "[" :
174                    Cleanup up there, and fixes for duplicated indices - more TODO!
175    
176            * tests/indexing.R(out): more tests
177    
178    2007-04-25  Douglas Bates  <bates@stat.wisc.edu>
179    
180            * DESCRIPTION,src/Makefile: require R>= 2.5.0 and remove Lapack
181            code that is now part of the R Lapack library.
182    
183            * src/init.c,inst/include/{Matrix_stubs.c,cholmod.h}:export
184            cholmod_factorize_p (used in lme4 for GLMMs and NLMMs).
185    
186    2007-04-21  Martin Maechler  <maechler@stat.math.ethz.ch>
187    
188            * R/Matrix.R (image): method for all Matrices, not just sparse ones.
189    
190    2007-04-17  Martin Maechler  <maechler@stat.math.ethz.ch>
191    
192            * R/Auxiliaries.R (tapply1): unname(.) -> colSums() etc don't end
193            up with extraneous names '0'...'<n-1>'
194    
195    2007-04-12  Martin Maechler  <maechler@stat.math.ethz.ch>
196    
197            * R/dgTMatrix.R (mat2dgT): care about NAs
198    
199    2007-04-11  Martin Maechler  <maechler@stat.math.ethz.ch>
200    
201            * R/kronecker.R: triangularity preserving methods
202    
203    2007-03-27  Martin Maechler  <maechler@stat.math.ethz.ch>
204    
205            * R/kronecker.R: new file collecting kronecker() methods in one
206                    place.  Goal: become much faster!
207    
208    2007-03-23  Martin Maechler  <maechler@stat.math.ethz.ch>
209    
210            * src/dtCMatrix.c (dtCMatrix_solve): use the new code from Kasper
211            Kristensen based cs_spsolve() instead of _lsolve & _usolve which
212            can be much faster.
213    
214            * tests/matprod.R: add regression tests for these (upper & lower).
215    
216    2007-03-19  Martin Maechler  <maechler@stat.math.ethz.ch>
217    
218            * R/Matrix.R (diff): method for our Matrices.
219    
220            * R/sparseMatrix.R (isDiagonal): check dim()!
221    
222    2007-03-17  Martin Maechler  <maechler@stat.math.ethz.ch>
223    
224            * R/Matrix.R (dim<-): new method for "reshape()" built on a
225            proposal from Tamas Papp.
226    
227    2007-03-16  Martin Maechler  <maechler@stat.math.ethz.ch>
228    
229            * R/AllGeneric.R: remove all  if(!isGeneric(.))  clauses
230    
231            * R/zzz.R (.onLoad, .onUnload): do *not* leave bind_activation(TRUE);
232            rather define and export  cBind() and rBind() only.
233            --> useRs *must* change code that used to have cbind()/rbind() !!
234    
235            * R/bind.R: change tests from cbind() to cBind() and similarly to rBind()
236            * R/bind.Rout.save: ditto
237    
238    2007-02-16  Douglas Bates  <bates@r-project.org>
239    
240            * DESCRIPTION (Date, Version): 0.9975-11 with new date
241            * src/dgCMatrix.c (R_to_CMatrix, compressed_to_TMatrix): remove
242            const modifier on declaration of the array 'valid'
243    
244    2007-02-12  Douglas Bates  <bates@stat.wisc.edu>
245    
246            * R/CHMfactor.R: Add image method (coercion to sparseMatrix).
247    
248    2007-02-05  Martin Maechler  <maechler@stat.math.ethz.ch>
249    
250            * DESCRIPTION (Date, Version): 0.9975-10 with new date.
251    
252            * R/Ops.R (Arith): make sure Csparse o Csparse also works for e.g. ntCMatrix
253            * tests/simple.R: test the above and some of these coercions:
254    
255            * R/nsparseMatrix.R: coercing "Csparse" to "lsparseMatrix";
256                    be careful to avoid infinite recursion, using new coercions in
257            * R/ngCMatrix.R and nsC... and ntC...
258            * R/lsparseMatrix.R: ditto
259    
260            * R/SparseM-conv.R: more conversion, notably for triplet matrices.
261    
262            * src/dgCMatrix.c (R_to_C_Matrix): port Doug's fix and
263            * R/Rsparse.R: reactivate .Call()s
264    
265            * tests/Class+Meth.R: a bit more on actual classes
266    
267    2007-02-04  Douglas Bates  <bates@stat.wisc.edu>
268    
269            * src/dgCMatrix.c (compressed_to_TMatrix): fix memory bug using strdup()
270    
271    2007-02-03  Martin Maechler  <maechler@stat.math.ethz.ch>
272    
273            * DESCRIPTION (Version): 0.9975-10 to upload
274    
275            * tests/Class+Meth.R (tstMatrixClass): require coercions to
276            specific classes less unconditionally.
277    
278            * R/Auxiliaries.R: get rid of as_Tsparse() and as_Rsparse()
279    
280            * R/Tsparse.R (triu): etc, use as(*, "TsparseMatrix") instead of as_Tsparse()
281    
282            * R/Rsparse.R (.R.2.T): R-level workaround using compressed_to_TMatrix.
283            * R/Rsparse.R (.R.2.C): R-level workaround since C-level
284            R_to_CMatrix segfaults on one platform.
285            Eliminate most coercion method to *specific* classes, and replace
286            with virtual classes coercions.
287    
288    
289    2007-02-01  Martin Maechler <maechler@stat.math.ethz.ch>
290    
291            * src/init.c: export the CHM...._validate() placeholders, since
292            they *are* called.
293    
294            * tests/Class+Meth.R (classCanCoerce): and starting to test
295            all as(<from>, <to>)
296    
297    2007-01-30  Martin Maechler  <maechler@stat.math.ethz.ch>
298    
299            * R/Tsparse.R ([): more care when subsetting triangular Tsparse
300            * tests/indexing.R: tested now
301            * tests/indexing.Rout.save: updated
302    
303            * src/Csparse.c (Csparse_to_dense): use Rkind = -1 for PATTERN to
304            * src/chm_common.c (chm_dense_to_SEXP): return "ngeMatrix" when
305            appropriate.
306    
307            * NAMESPACE: export a trivial
308            * R/Matrix.R: drop() Matrix-method
309    
310            * R/AllClass.R: moved all prototypes to virtual super classes.
311    
312            * R/Rsparse.R: many more coercions to have less exceptions in
313            * tests/Class+Meth.R:
314    
315            * R/Ops.R (Compare): tweak for case with NA
316            * tests/simpl.R: hence another 'FIXME' eliminated
317    
318    2007-01-29  Martin Maechler  <maechler@stat.math.ethz.ch>
319    
320            * R/diagMatrix.R (solve): the obvious methods for diagonalMatrix
321            objects.
322    
323            * tests/Class+Meth.R (tstMatrixClass): now testing diag(), nnzero(),
324              and more of "!", "&", "|", all, any; coercions
325    
326            * R/Rsparse.R: many coercions (which enable quite a few other
327            methods), thanks to enhancements in
328            * src/dgCMatrix.c (R_to_CMatrix): new, and
329            * src/dgCMatrix.c (compressed_to_TMatrix): now for (d,l,n) ,
330            symmetric & triangular and ..RMatrix objects.
331    
332            * src/TMatrix_as.c (Matrix_T_as_DENSE,Matrix_T_as_GENERAL):
333            renamed file from src/dsTMatrix.c;
334            now dealing with symmetric and triangular Tsparse coercions, both
335            to dense and general.
336    
337    2007-01-27  Martin Maechler  <maechler@stat.math.ethz.ch>
338    
339            * src/dsTMatrix.c: has now "l" and "n" methods besides the "d" ones.
340    
341            * R/Ops.R (Arith): <dgCMatrix> o <numeric> now remains sparse
342            where sensible when the <numeric> is of length > 1.
343    
344    2007-01-26  Martin Maechler  <maechler@stat.math.ethz.ch>
345    
346            * R/Matrix.R ([<-): for M[] <- value: fix length
347    
348    2007-01-25  Martin Maechler  <maechler@stat.math.ethz.ch>
349    
350            * R/Auxiliaries.R (n2l_Matrix): new, to be used in
351            * R/ndenseMatrix.R: new coercions n* -> l*
352    
353    2007-01-22  Martin Maechler  <maechler@stat.math.ethz.ch>
354    
355            * R/triangularMatrix.R: new file; simple triu() and tril() methods.
356    
357            * R/Ops.R ("Logic"): and other "Ops", many updates
358    
359    2007-01-18  Martin Maechler  <maechler@stat.math.ethz.ch>
360    
361            * src/Mutils.h (SET_DimNames): new utility
362    
363            * R/Auxiliaries.R (nnzero): improved and now exported via
364    
365            * NAMESPACE: + nnzero(); length() == prod(dim(.)) method for all "Matrix" objects
366    
367    2007-01-17  Martin Maechler  <maechler@stat.math.ethz.ch>
368    
369            * R/diagMatrix.R (!): fix typo.
370    
371    2007-01-16  Martin Maechler  <maechler@stat.math.ethz.ch>
372    
373            * R/Auxiliaries.R (as_Csparse): and quite a few others:
374                    allow to pass class definition --> speedup
375            * R/sparseMatrix.R: apply the above
376    
377            * R/Csparse.R: coercion Csparse* to dense* now preserves shape properties.
378    
379            * src/Mutils.h (mMatrix_as_geMatrix): new, based on
380            * src/Mutils.c (dup_mMatrix_as_geMatrix): new; generalization of
381            old dup_mMatrix_as_dgeMatrix), eliminating a long-standing "FIXME".
382    
383            * src/dense.c (dense_to_Csparse): use new mMatrix_as_geMatrix()
384    
385            * R/denseMatrix.R (.dense2C): based on dense_to_Csparse: name it,
386            and use it for "sparse*" as well, since it's faster than the
387            as_Csparse(.) way.
388    
389    2007-01-15  Martin Maechler  <maechler@stat.math.ethz.ch>
390    
391            * R/Ops.R ("Logic"): more methods, notably an  <lgC> o <lgC> one.
392    
393    2007-01-12  Martin Maechler  <maechler@stat.math.ethz.ch>
394    
395            * R/Tsparse.R (.TM.repl.i.2col): new internal function to be used
396            as method for   M[ ij ] <- v
397            * R/Csparse.R:: go via Tsparse for "M[ij] <- v"
398    
399            * R/Ops.R: "Compare" for (C|R)sparse: need pointer slot for all
400            FALSE answer
401    
402            * R/Csparse.R (replCmat): fix the "all non-zero" case with reordering
403            * tests/indexing.R: test it, and some of the above
404    
405    2007-01-05  Martin Maechler  <maechler@stat.math.ethz.ch>
406    
407            * R/Auxiliaries.R (is_duplicatedT): new utility
408    
409    2007-01-05  Douglas Bates  <bates@stat.wisc.edu>
410    
411            * src/init.c (R_init_Matrix): export cholmod_scale
412    
413    2006-12-30  Martin Maechler  <maechler@stat.math.ethz.ch>
414    
415            * R/zzz.R (tmp): for R >= 2.5.0, extend formals of our
416            base::as.matrix to (x, ...)
417    
418    2006-12-28  Martin Maechler  <maechler@stat.math.ethz.ch>
419    
420            * R/Ops.R ("Arith" etc): move almost all "Ops" methods to new R
421            file; start using "Logic", hence
422    
423            * DESCRIPTION (Depends): R >= 2.4.1 (since we want "Logic")
424            * NAMESPACE: import and export "Logic"
425    
426    2006-12-27  Martin Maechler  <maechler@stat.math.ethz.ch>
427    
428            * src/zpotfr.f and dependencies: use LAPACK 3.1 version
429            only needed previously to R version 2.5.0.
430    
431    2006-12-26  Martin Maechler  <maechler@stat.math.ethz.ch>
432    
433            * DESCRIPTION (Date, Version): 0.9975-8, ready for release
434    
435            * R/Tsparse.R (replTmat): fix subassignment of triangular
436            * R/Csparse.R (replCmat): ditto
437            * tests/indexing.R: more tests, incl the above fix
438    
439    2006-12-23  Martin Maechler  <maechler@stat.math.ethz.ch>
440    
441            * R/Auxiliaries.R (drop0): extend for non CSparse
442            * R/Auxiliaries.R (diagU2N): should work for all sparseMatrix
443    
444            * src/Csparse.c (Csparse_to_Tsparse, Csparse_general_to_symmetric):
445                    use uplo correctly (!); other places: use uplo_P() macro
446    
447            * R/Csparse.R (replCmat): call diagU2N() when needed
448            * R/Tsparse.R (replTmat): ditto
449    
450            * src/dtCMatrix.c (tCMatrix_validate): new
451            * src/dtTMatrix.c (tTMatrix_validate): new, used in
452            * R/AllClass.R: for validity of dtC, dsC, and dtT, dsT.
453    
454            * R/diagMatrix.R (replDiag): to use in [<-
455    
456    2006-12-22  Martin Maechler  <maechler@stat.math.ethz.ch>
457    
458            * R/Auxiliaries.R (as_Csparse2, as_geSimpl): new functions;
459                    also more general diagU2N().
460    
461    2006-12-21  Martin Maechler  <maechler@stat.math.ethz.ch>
462    
463            * R/bind2.R: new file for all cbind2(), rbind() methods moved here
464            from R/<foo>Matrix.R files. Better diagonal & improved sparse methods.
465    
466    2006-12-20  Martin Maechler  <maechler@stat.math.ethz.ch>
467    
468            * tests/bind.R: a few more cases
469            * R/Auxiliaries.R (.M.kind): also work for atomic vectors
470    
471            * R/denseMatrix.R (cbind2/rbind2): moved here (and generalized) from
472            * R/ddenseMatrix.R (cbind2/rbind2)
473            * R/Tsparse.R (replTmat): final(?!) fix for "[<-" ..
474            * tests/indexing.R
475            * tests/indexing.Rout.save: updated
476    
477    2006-12-18  Martin Maechler  <maechler@stat.math.ethz.ch>
478    
479            * R/Tsparse.R (replTmat): fixed a remaining "[<-" bug in
480            * tests/indexing.R
481    
482    2006-12-15  Martin Maechler  <maechler@stat.math.ethz.ch>
483    
484            * R/sparseMatrix.R (prSpMatrix): "." alignment much improved:
485            align with proper position of "0", i.e., right for integers.
486            argument 'align' by default is "fancy".
487    
488    2006-12-14  Martin Maechler  <maechler@stat.math.ethz.ch>
489    
490            * R/sparseMatrix.R: delegate "Compare" to "Csparse.."
491            * R/Csparse.R: and fix "Compare" for more cases.
492            * tests/Class+Meth.R: test some of these (m == m, m != m)
493    
494    2006-12-13  Martin Maechler  <maechler@stat.math.ethz.ch>
495    
496            * R/lsparseMatrix.R: all() and any() methods
497            * R/ldenseMatrix.R:      ditto
498            * NAMESPACE, R/Matrix.R: ditto
499    
500            * man/all-methods.Rd: document them minimally
501    
502            * tests/simple.R: add a few examples for these
503    
504    2006-12-11  Martin Maechler  <maechler@stat.math.ethz.ch>
505    
506            * R/Tsparse.R ([): fix long standing typo in symmetric case
507            * man/dsCMatrix-class.Rd: add example exhibiting the above case
508    
509    2006-12-10  Douglas Bates  <bates@stat.wisc.edu>
510    
511            * src/CHMfactor.c (CHMfactor_to_sparse): change LDL factorization
512            to LL before converting to a sparse matrix. (The LDL form can be
513            converted to a sparse matrix but it is implicitly a unit
514            triangular matrix and a diagonal matrix overwritten on the diagonal.)
515    
516    2006-12-09  Douglas Bates  <bates@stat.wisc.edu>
517    
518            * src/chm_common.c (chm_factor_to_SEXP): allocate and fill the Dim slot.
519    
520    2006-12-08  Douglas Bates  <bates@stat.wisc.edu>
521    
522            * DESCRIPTION (Version): updated -> release 0.9975-7
523            * src/{init.c,chm_common.c}, inst/include/*: export cholmod_analyze_p
524    
525    2006-11-30  Martin Maechler  <maechler@stat.math.ethz.ch>
526    
527            * R/diagMatrix.R (%*%): write a direct [diag o Csparse] method
528    
529    2006-11-29  Douglas Bates  <bates@stat.wisc.edu>
530    
531            * src/dgeMatrix.c (dgeMatrix_solve): Check error code from dgetri.
532            * tests/dg_Matrix.R: Add Barry Rowlingson's test of a matrix that
533            is exactly singular.
534    
535    2006-11-07  Martin Maechler  <maechler@stat.math.ethz.ch>
536    
537            * DESCRIPTION (Date): updated -> release 0.9975-6
538    
539    2006-11-06  Martin Maechler  <maechler@stat.math.ethz.ch>
540    
541            * R/Csparse.R (replCmat): symmetric indexing of symmetric matrix
542            now returns symmetric.
543    
544            * R/zzz.R ("diag<-"): replace "diag<-" in base for R <= 2.4.x
545    
546            * R/Matrix.R (.M.sub.i.2col):  new, for  M[ cbind(i,j) ] indexing.
547            * R/Matrix.R (.M.repl.i.2col): new, for  M[ cbind(i,j) ] <- value
548    
549            * R/Auxiliaries.R (.type.kind): added
550    
551    2006-11-04  Martin Maechler  <maechler@stat.math.ethz.ch>
552    
553            * src/cs.[ch]: updated to CSparse Version 2.0.3 by simply
554            running src/CSparse_install.sh
555    
556            * R/denseMatrix.R: "[": keep symmetric on symmetric indexing.
557    
558    2006-11-03  Martin Maechler  <maechler@stat.math.ethz.ch>
559    
560            * src/dsCMatrix.c (dsCMatrix_Csparse_solve): new
561            * R/dsCMatrix.R (solve): "fully-sparse" using the above.
562    
563            * R/AllClass.R: "pMatrix" now also inherits from "generalMatrix"
564    
565            * tests/Class+Meth.R (tstMatrixClass): now assure
566            the (important in method programming) property :
567    
568                    ###>>  Every "Matrix" is either
569                    ###>>  "general*", "symmetric*", "triangular*" or "diagonal*"
570    
571                    (where "*" stands for "Matrix")
572    
573            * R/Auxiliaries.R (diagU2N): now .Call()s Csparse_diagU2N for <Csparse>
574    
575            * R/dMatrix.R (Compare(<dMatrix>,<dMatrix>): update and
576            * tests/validObj.R: checks for "comparison"
577    
578            * R/sparseMatrix.R ([): improved indexing for sparse;
579                    trying to keep <symmetric>[ n, n] symmmetric
580    
581            * tests/indexing.R: indexing for logical sparse now ok
582    
583    
584    2006-11-02  Martin Maechler  <maechler@stat.math.ethz.ch>
585    
586            * src/Tsparse.c: use xTsparse_validate() , and hence remove
587    
588            * src/{ltC,lsC,lgT}Matrix.[ch]: removed
589    
590    2006-11-02  Martin Maechler  <maechler@stat.math.ethz.ch>
591    
592            * R/AllClass.R (Matrix-class): check length of dimnames in validity.
593    
594            * tests/simple.R: validObject() checking the above.
595    
596            * src/dgCMatrix.c (xCMatrix_validate): new, small and simple,
597            replacing both dgCMatrix_validate and lgCM*.
598    
599            * src/Csparse.c (Csparse_dense_prod, etc): do not lose dimnames;
600            fix dimnames setting in other places.
601            * src/chm_common.c (chm_dense_to_SEXP): now can pass dimnames
602    
603    2006-11-01  Martin Maechler  <maechler@stat.math.ethz.ch>
604    
605            * R/Csparse.R,src/Csparse.c, etc: tcrossprod(<CsparseM>,<CsparseM>)
606    
607            * R/sparseMatrix.R (isSymmetric): drop 'factors' slot for
608            symmetry test, via
609            * R/Auxiliaries.R (.as.dgC.0.factors):
610    
611    2006-11-01  Douglas Bates  <bates@r-project.org>
612    
613            * R/Csparse.R,src/Csparse.c,tests/matprod.R,
614            man/CsparseMatrix-class.Rd: crossprod(<CsparseMatrix>,
615            <CsparseMatrix>) added
616    
617    2006-10-30  Martin Maechler  <maechler@stat.math.ethz.ch>
618    
619            * tests/matprod.R: add a variation of Harri's example
620    
621            * R/dsparseMatrix.R: fix crossprod(<dsparse>, <dge>) to *not*
622            recursive infinitely.
623    
624            * R/dgCMatrix.R: + solve(<sparse>, <sparse>)
625    
626            * tests/indexing.R: add test for the "<" bug fixed 10-27 in R/dMatrix.R
627    
628    2006-10-28  Martin Maechler  <maechler@stat.math.ethz.ch>
629    
630            * tests/Class+Meth.R (tstMatrixClass): more: use non-trivial
631            matrix if possible; test m+m == 2*m; now test dgRMatrix.
632            * R/dgRMatrix.R (.to.dgR): a few more coercions, in order to
633            satisfy the above test.
634    
635    2006-10-27  Martin Maechler  <maechler@stat.math.ethz.ch>
636    
637            * R/Matrix.R (Ops):  <Matrix> o <matrix>  method added
638    
639            * R/dgCMatrix.R: solve(a, b="missing") based on
640            * src/dgCMatrix.c (dgCMatrix_matrix_solve): extend to work with
641            RHS = NULL.
642    
643            * R/diagMatrix.R (diagdiagprod): extend %*% etc to ldiMatrix;
644            add more (needed) [t]crossprod() methods.
645    
646            * man/ddiMatrix-class.Rd: more info, notably on 'diag'
647    
648            * R/Auxiliaries.R (as_CspClass): cleanup
649            (drop0): internal utility for "Csparse_drop(*, 0)"
650            (.bail.out.2): encourage active feedback
651    
652    2006-10-26  Martin Maechler  <maechler@stat.math.ethz.ch>
653    
654            * R/dMatrix.R(Compare): new(), then slots [no validity check]
655    
656            * src/Csparse.c (Csparse_validate): fixed (and more efficient in
657            non-valid or 'sorted' case).
658    
659            * R/dsparseMatrix.R: add "chol" method.
660            * R/ddenseMatrix.R: ditto
661    
662            * R/diagMatrix.R (Ops): group methods for  <diagonal> o <sparse>
663            * NAMESPACE (Ops)
664            * R/diagMatrix.R (diag2T): simple utility used "higher level"
665            coercion; deprecating direct lower level coercions.
666    
667            * R/*.R (seq): use seq_len() and seq_along() where possible.
668    
669    
670    2006-10-23  Martin Maechler  <maechler@stat.math.ethz.ch>
671    
672            * DESCRIPTION (Version): 0.9975-5 ready for release
673    
674    2006-10-20  Douglas Bates  <bates@stat.wisc.edu>
675    
676            * src/init.c (R_init_Matrix): export more cholmod CCallable functions.
677    
678    2006-10-20  Martin Maechler  <maechler@stat.math.ethz.ch>
679    
680            * R/AllClass.R (corMatrix): add 'validity' check;
681                    comment out unused "LDL" class definition
682            * NAMESPACE: mention, but do not export "LDL" class
683            * R/corMatrix.R: new (simple), needed for R-devel with
684            * tests/Class+Meth.R (tstMatrixClass): 1 exception for corMatrix
685              coerce and t() exceptions for all 5 'Mat.MatFact' classes.
686    
687    2006-10-19  Douglas Bates  <bates@stat.wisc.edu>
688    
689            * src/chm_common.h: Add R_cholmod_start to initialize cholmod to
690            use Rprintf and R's error handling.
691    
692    2006-10-17  Martin Maechler  <maechler@stat.math.ethz.ch>
693    
694            * R/diagMatrix.R (%*%): rep(*, each = .) in Matrix %*% diagonal.
695            * tests/matprod.R: add tests for the bug fixed.
696    
697    2006-10-11  Douglas Bates  <bates@stat.wisc.edu>
698    
699            * src/HBMM.[ch]: remove HarwellBoeing format for writing.
700            * src/SOURCES_C.mkf (SOURCES_C): no longer compile iohb.c
701    
702    2006-10-06  Douglas Bates  <bates@stat.wisc.edu>
703    
704            * R/d[gs]CMatrix.R: deprecate the writeHB function.  Use writeMM instead.
705    
706    2006-10-06  Martin Maechler  <maechler@stat.math.ethz.ch>
707    
708            * DESCRIPTION (Version): 0.9975-3
709    
710            * R/diagMatrix.R (bdiag): new function constructing block diagonal
711            (sparse) matrices.
712            * man/bdiag.Rd: docu + examples
713    
714            * R/Csparse.R (replCmat): calling new Csparse_drop() now.
715    
716            * src/Csparse.c (Csparse_general_to_symmetric, Csparse_drop): new functions
717            * R/lsCMatrix.R: three more coercions to lsC (thanks to the above)
718    
719            * R/diagMatrix.R (Diagonal): '[<-' method for diag.matrices such
720            that result is sparse or diagonal (and not dense).
721    
722            * man/Subassign-methods.Rd: fix examples
723    
724            * R/Matrix.R (Matrix):  Matrix(0, *) or Matrix(*, sparse=TRUE)
725            should always return a sparse (and not sometimes a diagonal) matrix.
726    
727    2006-10-05  Martin Maechler  <maechler@stat.math.ethz.ch>
728    
729            * R/Matrix.R ([<-): also for value "Matrix" or "matrix"
730    
731    2006-10-04  Douglas Bates  <bates@stat.wisc.edu>
732    
733            * DESCRIPTION (Version): 0.9975-2
734    
735            * inst/include/Matrix_stubs.c (M_cholmod_sparse_to_triplet): export more symbols
736    
737    2006-10-02  Douglas Bates  <bates@R-project.org>
738    
739            * tests/dg_Matrix.R: Simplify test taking into account new code.
740    
741    2006-09-29  Martin Maechler  <maechler@stat.math.ethz.ch>
742    
743            * R/Csparse.R (replCmat): improve for missing i / j in non-simple cases
744    
745            * R/lsTMatrix.R: new files w/ missing methods
746            * R/nsTMatrix.R:  "  'for completeness'
747    
748            * tests/Class+Meth.R: a bit less 'not.ok.classes'
749    
750            * R/Tsparse.R (t): generalized "t" method from "dgT*" to "Tsparse*"
751    
752    
753    2006-09-28  Douglas Bates  <bates@R-project.org>
754    
755            * src/dppMatrix.h: Ensure definition of dspMatrix_validate is
756            included.
757    
758            * src/init.c, inst/include/{Matrix.h,Matrix_stubs.h,cholmod.h}:
759            Export C-callable functions used in Zt_create in lme4.
760    
761    2006-09-28  Martin Maechler  <maechler@stat.math.ethz.ch>
762    
763            * DESCRIPTION (Version): 0.9975-1
764    
765            * tests/simple.R: less checks fail; using NA, found that our
766                    kronecker() is not base-compatible with NA's.
767    
768            * R/dMatrix.R: "Compare" method now implemented for all cases
769    
770            * R/Auxiliaries.R (indTri): == which([lower/upper].tri( * )) new utility
771    
772            * man/dtpMatrix-class.Rd: mention length of 'x' slot
773    
774            * src/dtpMatrix.c (dtpMatrix_validate): fix check
775            * src/dspMatrix.c (dspMatrix_validate): ditto
776    
777            * R/dtTMatrix.R (gt2tT): fix ("l" -> "n")
778              including coercion to [nl]tTMatrix.
779    
780            * R/diagMatrix.R (show): print a header line as for other classes.
781    
782    2006-09-27  Martin Maechler  <maechler@stat.math.ethz.ch>
783    
784            * src/Makefile.win (SUBDIRS): fix typo
785    
786    2006-09-19  Martin Maechler  <maechler@stat.math.ethz.ch>
787    
788            * DESCRIPTION (Date): ready to release 0.9975-0 to CRAN
789    
790    2006-09-18  Douglas Bates  <bates@stat.wisc.edu>
791    
792            * R/[CT]sparse.R (crossprod and tcrossprod): Handle the cases for x
793            symmetric and y missing in R code using %*% (cholmod_aat doesn't
794            accept a symmetric matrix).
795            * tests/group-methods.R: Uncomment test of crossprod applied to
796            lsCMatrix objects.
797    
798    2006-09-18  Martin Maechler  <maechler@stat.math.ethz.ch>
799    
800            * R/AllClass.R (symmetricMatrix): add validity method (available
801            in C for a long time). Many "n..Matrix": drop (wrong) validity arg.
802    
803            * src/lgCMatrix.c (lgCMatrix_validate): check 'x' slot (!)
804    
805            * tests/indexing.Rout.save:
806            * tests/indexing.R: additions, mainly for 'lsparse'
807    
808            * R/diagMatrix.R (Diagonal) & coercion to lgTMatrix: fixes for NA
809            case.
810    
811            * R/Auxiliaries.R (nz.NA): new utility now used in nnzero()
812    
813    2006-09-16  Martin Maechler  <maechler@stat.math.ethz.ch>
814    
815            * R/sparseMatrix.R (prSpMatrix): print logical NAs "visibly"
816                    as 'N' (1-letter - Ok?)
817    
818            * tests/group-methods.R: add test for logical + NAs
819    
820            * R/dMatrix.R ("Compare"): fix to work with NA's
821    
822            * R/AllClass.R: "Cholesky" etc now inherit from MatrixFactorization.
823    
824            * src/lgCMatrix.c (ncsc_to_matrix): renamed from lcsc_to_matrix()
825                    which is implemented.
826    
827    2006-09-15  Martin Maechler  <maechler@stat.math.ethz.ch>
828    
829            * src/chm_common.c: coerce logical <-> double instead of
830            typecasting;  needed for "l" matrix handling in cholmod.
831    
832            * tests/other-pkgs.R (graph): small extension in "graph" checks.
833    
834            * R/sparseMatrix.R (graphNEL -> Tsparse): method for weight case.
835            (Tsp2grNEL): other fixes needed
836    
837    2006-09-11  Martin Maechler  <maechler@stat.math.ethz.ch>
838    
839            * R/AllClass.R ("nMatrix"): and subclasses for "nonzero pattern"
840                    Matrices, since "lMatrix", also "lsparseM" can have NA
841            * R/ndenseMatrix.R, etc: new source files
842            * man/nsparseMatrix-classes.Rd, etc: new help files
843            * tests/: adaptions
844            * src/chm_common.c (chm_dense_to_SEXP): and others:
845                    new 'Rkind' argument: "l*" and "d*" both use CHOLMOD_REAL
846            * src/Csparse.c, etc: ditto
847    
848    2006-09-11  Douglas Bates  <bates@R-project.org>
849    
850            * src/Mutils.[ch],init.c inst/include/*.h: Move the
851            alloc_d**Matrix functions to the lme4 package.
852    
853    2006-09-09  Douglas Bates  <bates@R-project.org>
854    
855            * src/dsCMatrix.c (dsCMatrix_Cholesky): igoring LDL = FALSE now
856            fixed
857    
858    2006-09-09  Martin Maechler  <maechler@stat.math.ethz.ch>
859    
860            * R/lMatrix.R: new
861    
862            * R/sparseMatrix.R (Tsp2grNEL): do not yet use graph::foo()
863    
864            * R/dgeMatrix.R: do not define tcrossprod() methods for "matrix"
865            * man/tcrossprod.Rd: ditto
866    
867    2006-09-08  Douglas Bates  <bates@stat.wisc.edu>
868    
869            * inst/include/Matrix_stubs.c,Matrix.h: Add declarations and stubs
870            for exported functions
871            * src/Makefile, src/CHOLMOD/Lib/Makefile, src/Metis,CAMD,CCOLAMD:
872            Remove partitioning algorithms for sparse matrix reordering.  The
873            copyright on the Metis code was problematic and the methods were
874            rarely used.
875            * src/triplet_to_col.[ch],MMHB.[ch]: Remove triplet_to_col.  Such
876            operations are now done entirely in CHOLMOD code.
877    
878    2006-09-06  Douglas Bates  <bates@R-project.org>
879    
880            * src/Mutils.h: Remove functions that are no longer used.
881    
882    2006-09-04  Douglas Bates  <bates@R-project.org>
883    
884            * src/dtCMatrix.c (dtCMatrix_validate): rename functions.
885            * src/DEPS.mkf: update
886    
887    2006-09-02  Martin Maechler  <maechler@stat.math.ethz.ch>
888    
889            * created branches/Matrix-for-R-2.3.x;  on trunk: do
890            * DESCRIPTION (Version): 0.9975-0
891            (Depends): R (>= 2.4.0)
892    
893    2006-09-01  Douglas Bates  <bates@R-project.org>
894    
895            * R/sparseMatrix.R: Added direct method to CsparseMatrix from graphNEL
896    
897    2006-09-01  Martin Maechler  <maechler@stat.math.ethz.ch>
898    
899            * R/sparseMatrix.R: add coercion from "ANY" to "sparseMatrix"
900            * R/denseMatrix.R:  add coercion from "ANY" to "denseMatrix"
901    
902            * R/Matrix.R ([): use nargs() to disambiguate M[i] and M[i,]
903    
904    2006-08-31  Martin Maechler  <maechler@stat.math.ethz.ch>
905    
906            * R/sparseMatrix.R (Arith): moved Arith group method one-level up
907            from "dsparse" to "sparse" and now go via "Csparse" instead of "dgC"
908            * R/dsparseMatrix.R: ditto
909            * R/Csparse.R: ditto
910    
911    2006-08-31  Martin Maechler  <maechler@stat.math.ethz.ch>
912    
913            * R/dMatrix.R (Compare): improve availability of "<", etc
914            * R/Auxiliaries.R (asTuniq): new; also make use of R 2.4.x print(*,max)
915    
916    2006-08-30  Martin Maechler  <maechler@stat.math.ethz.ch>
917    
918            * R/dgCMatrix.R: aargh: "Arith(<dgC>, numeric)" was wrong because
919            of a 0-index which was used as 1-index (..hmm)
920    
921            * R/sparseMatrix.R (prSpMatrix): fix printing an all-0 sparse Matrix
922    
923            * R/Auxiliaries.R (all0, is0): for 0-testing in presence of NA's
924            * R/Auxiliaries.R (isTriMat): use all0() for 0-testing.
925            (.is.diagonal): ditto
926    
927            * R/lgTMatrix.R: as("matrix", "lgTMatrix"): warn about NA's
928    
929            * R/Matrix.R (Matrix): also work for NA data
930    
931    2006-08-28  Martin Maechler  <maechler@stat.math.ethz.ch>
932    
933            * R/Matrix.R (Matrix): + 'forceCheck' argument; dimnames setting
934            in all cases.
935    
936    2006-08-27  Douglas Bates  <bates@R-project.org>
937    
938            * src/dense.[ch],init.c, R/ddenseMatrix.R, man/band.Rd
939            (ddense_band): Added triu, tril and band for ddenseMatrix objects.
940    
941    2006-08-25  Martin Maechler  <maechler@stat.math.ethz.ch>
942    
943            * src/Mutils.c (dup_mMatrix_as_dgeMatrix): added all subclasses of
944            subclasses of "ddenseMatrix"
945            * src/init.c et al: outcomment dtrM*_as_dge* and dsyM*_as_dge*_
946            * R/ddenseMatrix.R et al: setAs("ddenseMatrix", "dgeMatrix", ..)
947            instead of half dozen specialized ones.
948    
949    2006-08-25  Douglas Bates  <bates@R-project.org>
950    
951            * R/lmer.R (qqmath method): Bug fix provided by Emmanuel Tillard
952            <tillard@cirad.fr> - ordering standard errors to match effects.
953    
954    2006-08-24  Douglas Bates  <bates@R-project.org>
955    
956            * src/lsCMatrix.c (lsCMatrix_trans): Remove lsCMatrix_chol based
957            on R_ldl.
958            * R/lCholCMatrix.R,
959            src/[dl]CholCMatrix.[ch],R_ldl.[ch],Metis_utils.[ch]: removed
960            * src/dsCMatrix.c (dsCMatrix_to_dgTMatrix): use CHOLMOD
961            * many files in ./R and ./src: Use more general version of
962            dup_mMatrix_as_dgeMatrix to simplify method definitions.
963            * src/Mutils.c (dup_mMatrix_as_dgeMatrix): Add ddiMatrix,
964            dtpMatrix, dspMatrix and dppMatrix conversions.
965    
966    
967    2006-08-23  Douglas Bates  <bates@R-project.org>
968    
969            * R/AllClass.R,lCholCMatrix.R,src/SOURCES_C.mkf,init.c,NAMESPACE:
970            Remove classes lCholCMatrix and dCholCMatrix based on R_ldl code.
971            * src/dgeMatrix.c: Ensure 'factors' slot exists in result of
972            dgeMatrix_crossprod (may need to do this in other places).
973            * R/AllGeneric.R,dsCMatrix.R, src/dscMatrix.[ch]: Add Cholesky
974            generic and method for dsCMatrix.  Use CHOLMOD for chol().
975    
976    2006-08-22  Douglas Bates  <bates@R-project.org>
977    
978            * src/Mutils.c (dup_mMatrix_as_dgeMatrix): updated for general
979            types of classed Matrices, matrices or numeric or logical vectors.
980            * src/init.c: register dup_mMatrix_as_dgeMatrix for coercions.
981            * src/chm_common.c,Mutils.h (as_cholmod_factor): Move check_class
982            to Mutils.h (as an inline) and change name to Matrix_check_class;
983            fixes in as_cholmod_factor and chm_factor_to_SEXP.
984            * src/dsCMatrix.[ch]: Use CHOLMOD for dsCMatrix_chol and
985            dsCMatrix_matrix_solve.  Comment out vestigial functions.
986            * src/Csparse.c: use diag_P and uplo_P macros.
987    
988    2006-08-21  Douglas Bates  <bates@R-project.org>
989    
990            * src/lmer.c (internal_mer_RZXinv): Fix memory leak caught by
991            valgrind.
992            * tests/matprod.R: Add tests to verify that 'solve' and '%*%' are
993            inverses.
994            * src/sparseQR.c (sparseQR_validate): add new validation test, fix
995            -Wall warnings.
996            * src/dppMatrix.c,dtrMatrix.c,dgCMatrix.c,dgeMatrix.c,dspMatrix.c:
997            Use dup_mMatrix_as_dgeMatrix.
998    
999    2006-08-20  Douglas Bates  <bates@R-project.org>
1000    
1001            * src/sparseQR.c: Fix thinko in sparseQR_resid_fitted.
1002            * tests/sparseQR.R: Added
1003            * man/sparseQR-class.Rd: Document methods for qr.* generics
1004            * R/sparseQR.R: Return correct # of coefs; fix cut-and-paste errors
1005    
1006    2006-08-19  Douglas Bates  <bates@R-project.org>
1007    
1008            * NAMESPACE, R/sparseQR.R, src/init.c,sparseQR.[ch],SOURCES_C.mkf:
1009            Added methods for sparseQR for qr.qy, qr.qty, qr.coef, qr.resid
1010            and qr.fitted.
1011            * src/Mutils.[ch]: Added dup_mMatrix_as_dgeMatrix utility
1012            * src/dgCMatrix.c: Check for ordering before storing q in dgCMatrix_QR
1013    
1014    2006-08-18  Martin Maechler  <maechler@stat.math.ethz.ch>
1015    
1016            * R/AllGeneric.R: add "qr" and "chol" generics; via 'trick' since
1017            the base version has no "..." argument.
1018    
1019            * R/sparseMatrix.R (prSpMatrix): fix the triangular unit diagonal case.
1020    
1021            * R/Matrix.R: define and
1022            * NAMESPACE: export as.numeric() and as.logical() methods.
1023                    Let's hope these do not badly slow down something...
1024            Finally export the zapsmall() method.
1025    
1026    2006-08-17  Douglas Bates  <bates@R-project.org>
1027    
1028            * src/dgCMatrix.[ch] (dgCMatrix_matrix_solve), src/init.c,
1029            R/dgCMatrix.R: solve methods for dgCMatrix and dense RHS.
1030            * src/dtCMatrix.c :Remove code that is no longer used
1031            * R/dtCMatrix.R: Use C code for diagU2N in CsparseMatrix classes
1032    
1033    2006-08-14  Douglas Bates  <bates@R-project.org>
1034    
1035            * src/Csparse.[ch],init.c (Csparse_to_logical): Added utilities
1036            Csparse_to_logical and Csparse_symmetric_to_general.
1037            * R/dgCMatrix.R,dsCMatrix.R,Csparse.R : Consolidate general
1038            coercion methods between CsparseMatrix and TsparseMatrix.
1039    
1040    2006-08-14  Douglas Bates  <bates@R-project.org>
1041    
1042            * R/dtCMatrix.R,dgCMatrix.R,Csparse.R src/init.c,dgCMatrix.[ch],
1043            Csparse.[ch],chm_common.c,dense.c : Use CHOLMOD code and methods
1044            for CsparseMatrix, TsparseMatrix, denseMatrix or matrix when
1045            possible.
1046    
1047    2006-08-12  Douglas Bates  <bates@R-project.org>
1048    
1049            * src/chm_common.[ch],Csparse.[ch],Tsparse.[ch],CHMfactor.c,dtTMatrix.c,
1050              dgTMatrix.c,dgCMatrix.c,dsCMatrix.c,dtTMatrix.c, R/dsTMatrix.R,
1051              Tsparse.R,Csparse.R,dgTMatrix.R,dsCMatrix.R,lsCMatrix.R:
1052              generalize conversions between TsparseMatrix, CsparseMatrix,
1053              denseMatrix and matrix.  Preserve triangularity property and
1054              propagate Dimnames in the easy cases.
1055    
1056    2006-08-10  Douglas Bates  <bates@R-project.org>
1057    
1058            * src/lmer.c: adjust checks in glmer_init for S4SXP
1059            * tests/validObj.R: check of all(eq) should be all(eq@x) - worked
1060            before S4SXP but for the wrong reasons.
1061    
1062    2006-08-08  Douglas Bates  <bates@R-project.org>
1063    
1064            * src/Csparse.c (Csparse_crossprod): tcrossprod result has stype = -1.
1065            Later modified to return the upper triangle only.
1066            * R/dgTMatrix.R: Remove vestigial crossprod and tcrossprod methods.
1067    
1068    2006-08-07  Douglas Bates  <bates@R-project.org>
1069    
1070            * src/Csparse.c (Csparse_crossprod): Set stype on result to avoid
1071            R-level conversion to a sparse symmetric class.
1072            * R/Tsparse.R,R/Csparse.R (crossprod and tcrossprod methods):
1073            Remove conversion to sparse symmetric classes (now done in C code).
1074    
1075    2006-08-07  Martin Maechler  <maechler@stat.math.ethz.ch>
1076    
1077            * R/dgCMatrix.R: disable old crossprod and tcrossprod methods
1078            * man/band.Rd:  adapt the \dontshow{} unit test.
1079    
1080    2006-08-07  Martin Maechler  <maechler@stat.math.ethz.ch>
1081    
1082            * DESCRIPTION (Version): 0.995-14  for CRAN
1083    
1084            * tests/other-pkgs.R: oops: library(Matrix) outside *if* !
1085    
1086            * R/sparseMatrix.R (Tsp2grNEL): fixed Tsparse -> graph coercion
1087            * tests/other-pkgs.R:  more checks, sparseMatrix -> graph
1088    
1089            * R/Auxiliaries.R (as_Tsparse, as_Rsparse): new
1090            * R/Tsparse.R (tril, triu, band): methods
1091            * R/dgRMatrix.R (tril, ...):    ditto
1092            * man/band.Rd:                  ditto
1093    
1094    2006-08-04  Martin Maechler  <maechler@stat.math.ethz.ch>
1095    
1096            * R/Matrix.R (head, tail): directly use utils:::head.matrix
1097                    to be up-to-date automatically.
1098    
1099    2006-08-03  Martin Maechler  <maechler@stat.math.ethz.ch>
1100    
1101            * DESCRIPTION (Version): 0.995-13 to be released to CRAN
1102    
1103            * DESCRIPTION (Lazydata): no, instead of 'yes' because it fails for:
1104            * data/CAex.R, inst/external/CAex_slots.rda: replacing data/CAex.rda
1105            * data/KNex.R, inst/external/KNex_slots.rda: replacing data/KNex.rda
1106            such that the S4 objects are always created by the current version
1107            of R and 'Matrix' class definitions.
1108    
1109    2006-08-01  Douglas Bates  <bates@R-project.org>
1110    
1111            * R/lmer.R (LMEoptimize method), tests/lmer.R,
1112            inst/external/test3comp.rda: Added warnings for convergence on
1113            boundary and test cases.
1114    
1115            * src/lmer.c (mer_postVar): Modified to return the variances that
1116            are marginal to the fixed effects, not conditional on them (which
1117            is what the bVar slot contents represent).
1118    
1119    2006-07-31  Douglas Bates  <bates@R-project.org>
1120    
1121            * NAMESPACE, src/lmer.c, R/lmer.R (hatTrace):  Add the hatTrace
1122            function which calls the C function mer_hat_trace2.
1123    
1124            * man/ranef.Rd: Include description of "postVar" argument and
1125            producing a caterpillar plot.
1126    
1127    2006-07-31  Martin Maechler  <maechler@stat.math.ethz.ch>
1128    
1129            * NAMESPACE:    change  "correlation" to "corMatrix"
1130            * R/AllClass.R: to avoid clash with S3 class in 'nlme'.
1131            * R/dpoMatrix.R: ditto
1132            * R/lmer.R:      ditto
1133    
1134    2006-07-28  Douglas Bates  <bates@R-project.org>
1135    
1136            * src/lmer.c (internal_mer_RZXinv): Split the calculation of the
1137            RZXinv slot's contents into a separate internal function that can
1138            be used in mer_hat_trace.
1139    
1140    2006-07-22  Martin Maechler  <maechler@stat.math.ethz.ch>
1141    
1142            * R/Matrix.R: Coercions "Matrix" -> (sparse|dense)Matrix
1143            via new smart
1144            * R/Auxiliaries.R (as_Csparse, as_dense, .M.shapse): new
1145            utility functions.
1146    
1147    
1148    2006-07-21  Martin Maechler  <maechler@stat.math.ethz.ch>
1149    
1150            * R/Csparse.R (tril, triu, band): do return *triangular* classed
1151            matrices when appropriate; band() even symmetric ones.
1152            (replCmat): extend to potentially all "CsparseMatrix"
1153            * R/Tsparse.R (replTmat): extend to all "TsparseMatrix"; hence
1154            allow subassignment for special sparse matrices.
1155    
1156            * R/Auxiliaries.R (as_geClass): factor out the  .M.kind() functionality
1157    
1158            * src/lmer.c (mer_MCMCsamp, glmer_MCMCsamp): new 'verbose'
1159            argument; in glmer_*(): print only if(verbose).
1160    
1161            speed-optimize a few places by moving REAL(.) out of loops.
1162    
1163            * src/lmer.h, src/init.h, R/lmer.R:  related to above.
1164    
1165    2006-07-20  Martin Maechler  <maechler@stat.math.ethz.ch>
1166    
1167            * R/Matrix.R("["): disable ("Matrix", i = "logical", j = "missing"),
1168                    since that wrongly triggers also for M[ logi , ]
1169    
1170            * R/denseMatrix.R: "[" methods now also work e.g. when indexing
1171            a symmetric matrix that results in a non-symmetric one.
1172            * R/Auxiliaries.R (as_geClass): new function used in "[" above.
1173    
1174            * R/dMatrix.R: make round(M) work as round(M, 0)
1175    
1176            * R/dgTMatrix.R (image): coordinate system and axis now use
1177            1-based indices, not 0-based ones.
1178    
1179            * R/Tsparse.R (.ind.prep for "["): get rid of max(<empty>) warning.
1180            * tests/indexing.R: test it.
1181    
1182            * NAMESPACE: export isSymmetric(); has been a generic in "base" for a while;
1183            * man/isSymmetric-methods.Rd: and document it.
1184    
1185            * R/SparseM-conv.R: added coercion methods for some 'SparseM' matrices.
1186            * man/SparseM-conv.Rd: docu them
1187    
1188            * tests/other-pkgs.R: renamed from tests/graph.R and add example
1189                    for 'SparseM' conversions
1190    
1191    2006-07-17  Douglas Bates  <Douglas.Bates@R-project.org>
1192    
1193            * R/Matrix.R (head): added head() and tail() methods.
1194    
1195    2006-07-17  Martin Maechler  <maechler@stat.math.ethz.ch>
1196    
1197            * DESCRIPTION (Version): 0.995-12 released to CRAN
1198    
1199    2006-07-15  Martin Maechler  <maechler@stat.math.ethz.ch>
1200    
1201            * tests/simple.R: add check for correct dsT -> dgT coercion;
1202                    add check for correct printing of symmetric sparse matrices.
1203    
1204            * R/Auxiliaries.R (non0ind): return *all* non-0 entry indices also
1205            for sparse symmetric matrices.
1206    
1207            * src/dsTMatrix.c (dsTMatrix_as_dgTMatrix): do not copy the
1208            diagonal twice.
1209    
1210    2006-07-11  Douglas Bates  <Douglas.Bates@R-project.org>
1211    
1212            * src/dsTMatrix.c (dsTMatrix_as_dgTMatrix): Fix a case of INTEGER
1213            being applied to the x slot (detected by Brian Ripley).
1214    
1215    2006-07-10  Martin Maechler  <maechler@stat.math.ethz.ch>
1216    
1217            * src/dgCMatrix.c (dgCMatrix_validate): 'p' slot must have correct length.
1218    
1219            * R/Auxiliaries.R (isTriC): fix buglet (we were 1-based!)
1220    
1221    2006-07-08  Martin Maechler  <maechler@stat.math.ethz.ch>
1222    
1223            * src/lgCMatrix.c (lgCMatrix_diag): new function
1224            * R/lgCMatrix.R (diag): for new method
1225    
1226            * R/AllClass.R (TsparseMatrix): do use Tsparse_validate
1227                 ==> construction of illegal "*gTMatrix" via new() should
1228                 now be much less easy:
1229            * tests/Class+Meth.R: assertError() for some illegal "dgT*"
1230    
1231            * R/Matrix.R (Matrix): Matrix(0, nrow,ncol) now "goes sparse"
1232                    directly.
1233            * man/Matrix.Rd: documents it.
1234    
1235    2006-07-06  Douglas Bates  <bates@R-project.org>
1236    
1237            * src/pedigree.c (pedigree_inbreeding): Correction in
1238            initialization.  This function is not currently being used and is
1239            not fully tested.
1240    
1241            * NAMESPACE, R/{AllClass.R,lmer.R}, src/{init.c,lmer.c}:
1242            Introduced the glmer class.  Added code for mcmcmsamp on glmer
1243            objects.  Modified validity check on pedigree objects to account
1244            for nonparallel patterns of missingness of parents.
1245    
1246            * man/{lmer-class.Rd,mcmcsamp.Rd}: Update documentation for glmer
1247            class.
1248    
1249    2006-07-01  Martin Maechler  <maechler@stat.math.ethz.ch>
1250    
1251            * R/pMatrix.R: coercion pMatrix -> Tsparse
1252    
1253    2006-06-12  Douglas Bates  <bates@R-project.org>
1254    
1255            * DESCRIPTION (Version): 0.995-11 released to CRAN
1256    
1257            * R/lmer.R (mcmcsamp method): Corrected arrangments of names on
1258            the output from mcmcsamp.
1259    
1260  2006-06-10  Douglas Bates  <bates@R-project.org>  2006-06-10  Douglas Bates  <bates@R-project.org>
1261    
1262          * R/lmer.R (simulestimate): added          * R/lmer.R (simulestimate): added C code for calculating the trace
1263            of the hat matrix.
1264    
1265  2006-06-09  Martin Maechler  <maechler@stat.math.ethz.ch>  2006-06-09  Martin Maechler  <maechler@stat.math.ethz.ch>
1266    
1267          * R/diagMatrix.R (setAs): define coercion methods to sparse matrix          * R/diagMatrix.R (setAs): define coercion methods to sparse matrix
1268          classes.          classes.
1269            * R/sparseMatrix.R etc: multiplication of diagonal and sparse
1270    
1271  2006-06-08  Martin Maechler  <maechler@stat.math.ethz.ch>  2006-06-08  Martin Maechler  <maechler@stat.math.ethz.ch>
1272    
# Line 43  Line 1304 
1304    
1305          * R/sparseMatrix.R: Matrix <-> graph methods: can no longer use          * R/sparseMatrix.R: Matrix <-> graph methods: can no longer use
1306          the C code depending on a slot structure that's no longer valid.          the C code depending on a slot structure that's no longer valid.
1307          * src/dgTMatrix.c: dito (also: src/init.c src/dgTMatrix.h)          * src/dgTMatrix.c: ditto (also: src/init.c src/dgTMatrix.h)
1308    
1309    
1310  2006-05-17  Douglas Bates  <bates@stat.wisc.edu>  2006-05-17  Douglas Bates  <bates@stat.wisc.edu>
# Line 166  Line 1427 
1427          * data/KNex.rda: replacing 'mm' and 'y' by KNex <- list(mm=mm, y=y)          * data/KNex.rda: replacing 'mm' and 'y' by KNex <- list(mm=mm, y=y)
1428          * man/KNex.Rd: and other help files          * man/KNex.Rd: and other help files
1429          * tests/*.R: several ones needed adaption          * tests/*.R: several ones needed adaption
1430          * inst/doc/Comparisons.Rnw: dito          * inst/doc/Comparisons.Rnw: ditto
1431    
1432  2006-03-11  Martin Maechler  <maechler@stat.math.ethz.ch>  2006-03-11  Martin Maechler  <maechler@stat.math.ethz.ch>
1433    
# Line 370  Line 1631 
1631  2005-08-26  Martin Maechler  <maechler@stat.math.ethz.ch>  2005-08-26  Martin Maechler  <maechler@stat.math.ethz.ch>
1632    
1633          * R/Matrix.R:  added first "[<-" methods; not yet functional          * R/Matrix.R:  added first "[<-" methods; not yet functional
1634          * R/denseMatrix.R: dito          * R/denseMatrix.R: ditto
1635          * man/Subassign-methods.Rd: new help file for these          * man/Subassign-methods.Rd: new help file for these
1636    
1637  2005-08-25  Martin Maechler  <maechler@stat.math.ethz.ch>  2005-08-25  Martin Maechler  <maechler@stat.math.ethz.ch>

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

root@r-forge.r-project.org
ViewVC Help
Powered by ViewVC 1.0.0  
Thanks to:
Vienna University of Economics and Business Powered By FusionForge