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

Legend:
Removed from v.388  
changed lines
  Added in v.2161

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