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

Legend:
Removed from v.876  
changed lines
  Added in v.2257

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