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

Legend:
Removed from v.1288  
changed lines
  Added in v.2039

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