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

Legend:
Removed from v.1271  
changed lines
  Added in v.2194

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