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

Legend:
Removed from v.948  
changed lines
  Added in v.2105

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