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

Legend:
Removed from v.848  
changed lines
  Added in v.2108

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