SCM

SCM Repository

[matrix] Diff of /pkg/ChangeLog
ViewVC logotype

Diff of /pkg/ChangeLog

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

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

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

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