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

Legend:
Removed from v.1213  
changed lines
  Added in v.2164

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