SCM

SCM Repository

[matrix] Diff of /pkg/ChangeLog
ViewVC logotype

Diff of /pkg/ChangeLog

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

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

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

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