SCM

SCM Repository

[matrix] Diff of /pkg/ChangeLog
ViewVC logotype

Diff of /pkg/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

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

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

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