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

Legend:
Removed from v.876  
changed lines
  Added in v.2048

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