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

Legend:
Removed from v.1230  
changed lines
  Added in v.2062

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