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

Legend:
Removed from v.392  
changed lines
  Added in v.2137

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