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

Legend:
Removed from v.350  
changed lines
  Added in v.2125

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