SCM

SCM Repository

[matrix] Diff of /pkg/ChangeLog
ViewVC logotype

Diff of /pkg/ChangeLog

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

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

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

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