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

Legend:
Removed from v.956  
changed lines
  Added in v.2050

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