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

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