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

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

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