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 1298, Sat Jun 10 19:56:18 2006 UTC revision 2115, Sat Feb 23 09:23:17 2008 UTC
# Line 1  Line 1 
1    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>  2006-06-10  Douglas Bates  <bates@R-project.org>
1753    
1754          * R/lmer.R (simulestimate): added          * 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>  2006-06-09  Martin Maechler  <maechler@stat.math.ethz.ch>
1758    
1759          * R/diagMatrix.R (setAs): define coercion methods to sparse matrix          * R/diagMatrix.R (setAs): define coercion methods to sparse matrix
1760          classes.          classes.
1761            * R/sparseMatrix.R etc: multiplication of diagonal and sparse
1762    
1763  2006-06-08  Martin Maechler  <maechler@stat.math.ethz.ch>  2006-06-08  Martin Maechler  <maechler@stat.math.ethz.ch>
1764    
# Line 43  Line 1796 
1796    
1797          * R/sparseMatrix.R: Matrix <-> graph methods: can no longer use          * R/sparseMatrix.R: Matrix <-> graph methods: can no longer use
1798          the C code depending on a slot structure that's no longer valid.          the C code depending on a slot structure that's no longer valid.
1799          * src/dgTMatrix.c: dito (also: src/init.c src/dgTMatrix.h)          * src/dgTMatrix.c: ditto (also: src/init.c src/dgTMatrix.h)
1800    
1801    
1802  2006-05-17  Douglas Bates  <bates@stat.wisc.edu>  2006-05-17  Douglas Bates  <bates@stat.wisc.edu>
# Line 166  Line 1919 
1919          * data/KNex.rda: replacing 'mm' and 'y' by KNex <- list(mm=mm, y=y)          * data/KNex.rda: replacing 'mm' and 'y' by KNex <- list(mm=mm, y=y)
1920          * man/KNex.Rd: and other help files          * man/KNex.Rd: and other help files
1921          * tests/*.R: several ones needed adaption          * tests/*.R: several ones needed adaption
1922          * inst/doc/Comparisons.Rnw: dito          * inst/doc/Comparisons.Rnw: ditto
1923    
1924  2006-03-11  Martin Maechler  <maechler@stat.math.ethz.ch>  2006-03-11  Martin Maechler  <maechler@stat.math.ethz.ch>
1925    
# Line 370  Line 2123 
2123  2005-08-26  Martin Maechler  <maechler@stat.math.ethz.ch>  2005-08-26  Martin Maechler  <maechler@stat.math.ethz.ch>
2124    
2125          * R/Matrix.R:  added first "[<-" methods; not yet functional          * R/Matrix.R:  added first "[<-" methods; not yet functional
2126          * R/denseMatrix.R: dito          * R/denseMatrix.R: ditto
2127          * man/Subassign-methods.Rd: new help file for these          * man/Subassign-methods.Rd: new help file for these
2128    
2129  2005-08-25  Martin Maechler  <maechler@stat.math.ethz.ch>  2005-08-25  Martin Maechler  <maechler@stat.math.ethz.ch>

Legend:
Removed from v.1298  
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