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

Legend:
Removed from v.392  
changed lines
  Added in v.2126

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