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

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

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