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

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

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