SCM

SCM Repository

[matrix] Diff of /pkg/ChangeLog
ViewVC logotype

Diff of /pkg/ChangeLog

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

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

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

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