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

Legend:
Removed from v.1267  
changed lines
  Added in v.2011

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