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

Legend:
Removed from v.350  
changed lines
  Added in v.2206

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