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

Legend:
Removed from v.460  
changed lines
  Added in v.2159

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