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

Legend:
Removed from v.726  
changed lines
  Added in v.2166

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