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

Legend:
Removed from v.388  
changed lines
  Added in v.2098

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