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

Legend:
Removed from v.1213  
changed lines
  Added in v.2102

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