SCM

SCM Repository

[matrix] Diff of /pkg/ChangeLog
ViewVC logotype

Diff of /pkg/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

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

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

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