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

Legend:
Removed from v.1312  
changed lines
  Added in v.2203

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