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

Legend:
Removed from v.1298  
changed lines
  Added in v.2218

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