SCM

SCM Repository

[matrix] Diff of /pkg/ChangeLog
ViewVC logotype

Diff of /pkg/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

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

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

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