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

Legend:
Removed from v.350  
changed lines
  Added in v.2106

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