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 1312, Thu Jul 6 15:29:56 2006 UTC revision 2166, Wed Apr 2 15:06:02 2008 UTC
# Line 1  Line 1 
1    2008-04-02  Martin Maechler  <maechler@stat.math.ethz.ch>
2    
3            * src/dense.c (dense_to_Csparse): all declarations *before*
4            R_CheckStack(); needed e.g. for ancient gcc 2.96.
5    
6    
7    2008-03-29  Martin Maechler  <maechler@stat.math.ethz.ch>
8    
9            * DESCRIPTION (Version): 0.999375-9 --- need to release
10            for R-devel (and R 2.7.0 alpha soon).
11    
12            * R/AllClass.R: drop "double" from "atomicVector" class union
13    
14            * R/AllGeneric.R (rcond): check for base::rcond instead of R version
15            * R/dgeMatrix.R: ditto
16    
17            * R/sparseMatrix.R (summary): count NAs
18    
19            * inst/doc/Intro2Matrix.Rnw: changes, aim for *one* introduction.
20    
21    2008-03-28  Martin Maechler  <maechler@stat.math.ethz.ch>
22    
23            * R/AllGeneric.R: rcond(., norm) instead of rcond(., type), in
24            order to become compatible to new R 2.7.0 base::rcond().
25    
26    2008-03-25  Martin Maechler  <maechler@stat.math.ethz.ch>
27    
28            * DESCRIPTION (Version,Date): 0.999375-8 --- released to CRAN
29    
30            * R/diagMatrix.R (Ops): fix newly introduce bug in <.di> o <numeric>
31    
32            * inst/test-tools.R (isValid): new utility, used much in
33            * tests/simple.R:
34    
35            * man/BunchKaufman-methods.Rd: added too
36    
37    2008-03-24  Martin Maechler  <maechler@stat.math.ethz.ch>
38    
39            * R/dsyMatrix.R: add BunchKaufman() methods.
40            * R/dspMatrix.R:
41    
42            * src/init.c: add dsyMatrix_trf
43    
44    2008-03-23  Douglas Bates <bates@stat.wisc.edu>
45    
46            * DESCRIPTION (Version): release 0.999375-7
47            * src/CHMfactor.c (CHMfactor_update): fix
48    
49    2008-03-22  Martin Maechler  <maechler@stat.math.ethz.ch>
50    
51            * src/dsCMatrix.c (dsCMatrix_LDL_D): cleanup, also using
52            internal_chm_factor().
53    
54            * R/AllGeneric.R: do *not* define a "chol" generic
55                    (but rather use the implicit one *without* making pivot
56                    part of the signature)
57            * R/*.R: drop the 'pivot' from chol's signature and make
58                    'pivot=FALSE' a default argument of method definitions.
59    
60            * .Rbuildignore: add 'wrld_1deg': I.e. do not put it into released
61            version of Matrix
62    
63    2008-03-18  Martin Maechler  <maechler@stat.math.ethz.ch>
64    
65            * R/Tsparse.R (.T.2.n): drop 0's before coercion to "nMatrix"
66    
67            * R/sparseMatrix.R (is.na): new simple method
68            * R/denseMatrix.R (is.na): ditto.
69    
70            * R/diagMatrix.R (.symDiagonal): newly exported utility.
71    
72            * R/diagMatrix.R (Ops): <diag> * <numeric> should not become dgeMatrix!
73    
74            * src/UFsparse_download.sh: -->
75            * src/CHOLMOD/: update to CHOLMOD version 1.6 (Nov.2007)
76    
77    2008-03-17  Martin Maechler  <maechler@stat.math.ethz.ch>
78    
79            * src/dsCMatrix.c (dsCMatrix_LDL_D): even faster utility with same
80            functionality; barely tested in
81            * tests/factorizing.R
82    
83            * src/Csparse.c (diag_tC): new functionality to enable faster
84            determinant(<dsCMatrix>, .) in
85            * R/dsCMatrix.R
86    
87    2008-03-17 18:53  Douglas Bates <bates@stat.wisc.edu>
88    
89            * R/CHMfactor.R, inst/include/Matrix.h, inst/include/Matrix_stubs.c,
90              src/CHMfactor.c, src/CHMfactor.h,
91              man/CHMfactor-class.Rd, src/init.c, tests/factorizing.R:
92              Log-determinant of the parent matrix from a CHMfactor object as
93              chm_factor_ldetL2; documentation and support
94    
95    2008-03-15  Martin Maechler  <maechler@stat.math.ethz.ch>
96    
97            * R/dsCMatrix.R: enable determinant(<dsCMatrix>, .) via chol(.)
98    
99    2008-03-14  Martin Maechler  <maechler@stat.math.ethz.ch>
100    
101            * R/dsCMatrix.R: setAs(., "dsCMatrix") but with a deprecation
102            warning.
103    
104    2008-03-13  Martin Maechler  <maechler@stat.math.ethz.ch>
105    
106            * DESCRIPTION (Version, Date): bug-fix release 0.999375-6
107    
108            * R/diagMatrix.R (diag2tT.u): utility to be smarter in
109              <diagonal> o <sparse_triangular>
110              setAs(., "nMatrix") added.
111    
112            * R/diagMatrix.R (Diagonal): Diagonal(4, x=3) now works too
113    
114            * R/Auxiliaries.R (.diagU2N): more careful coercion in 2 steps
115                    new argument 'checkDense = FALSE'.
116    
117    
118    2008-03-07  Martin Maechler  <maechler@stat.math.ethz.ch>
119    
120            * src/dgeMatrix.c (dgeMatrix_exp): fix the octave-origin bug in the
121            back-permutation of the matrix exponential.
122    
123            * tests/matr-exp.R: test the fix (for an example where expm() was wrong).
124    
125            * DESCRIPTION (Date,Version): ready to release 0.999375-5
126    
127            * tests/simple.R: testing diagN2U
128    
129    2008-03-06  Martin Maechler  <maechler@stat.math.ethz.ch>
130    
131            * R/Auxiliaries.R (diagN2U): interface to
132    
133            * src/Csparse.c (Csparse_diagN2U): .Call()able SEXP version of chm_diagN2U()
134    
135            * tests/matprod.R: test for triangularity preserving <dtC> %*% <dtC>
136    
137    2008-03-05  Martin Maechler  <maechler@stat.math.ethz.ch>
138    
139            * src/chm_common.c (chm_diagN2U): new utility.
140    
141            * src/Csparse.c (Csparse_Csparse_crossprod, Csparse_Csparse_prod):
142            make use of chm_diagN2U() and hence now preserve triangularity and
143            unit-triangularity.
144    
145            * DESCRIPTION (LicenseDetails): new; such that 'License:' becomes "canonical"
146    
147    2008-03-04  Martin Maechler  <maechler@stat.math.ethz.ch>
148    
149            * R/diagMatrix.R (subDiag): fix when x[..] became a vector
150    
151            * src/Tsparse.c (Tsparse_diagU2N): new utility, necessary for e.g.
152            * src/Csparse.c (Csparse_crossprod): use [CT]sparse_diagU2N() !!
153    
154            * R/Auxiliaries.R (.diagU2N): make use of new Tsparse_diagU2N
155    
156            * R/Ops.R ("-" (<sparseMatrix>)): use diagU2N()
157    
158            * src/chm_common.c (AS_CHM_FINISH): add note about problem
159            for triangular (diag = "U").
160    
161    2008-02-21  Martin Maechler  <maechler@stat.math.ethz.ch>
162    
163            * R/Auxiliaries.R (as_Csparse2): drop this, replacing by
164            * R/bind.R:  .Call(dense_to_Csparse, *)
165    
166    2008-02-20  Martin Maechler  <maechler@stat.math.ethz.ch>
167    
168            * R/Matrix.R (Matrix): no longer use coercions to specific classes
169                    (since we are discouraging them in user code).
170    
171            * tests/*.R: also replaces coercions to specific classes by
172            coercions to super classes.
173    
174            * R/denseMatrix.R (.dense2C): simplified by using forceSymmetric()
175    
176    
177    2008-02-19  Martin Maechler  <maechler@stat.math.ethz.ch>
178    
179            * man/CAex.Rd: example: coerce to symmetric*, not dsC*
180    
181            * src/dense.c (dense_band): generalized from ddense_band
182    
183            * R/ddenseMatrix.R (.trilDense,.triuDense, .bandDense):
184              now for "denseMatrix" (instead of just "ddense*"); much
185              simplified setMethod()s for these.
186    
187            * src/dense.c (dense_to_symmetric): generalized from ddense_*
188    
189    2008-02-18  Martin Maechler  <maechler@stat.math.ethz.ch>
190    
191            * R/AllGeneric.R: forceSymmetric() generic: fast no-checking
192            version of as(*, "symmetricMatric").
193    
194            * src/dense.c (ddense_to_symmetric): add 'symm_test' argument, and
195            * R/symmetricMatrix.R: set it TRUE in coercion to "symmetricMatrix"
196    
197    2008-02-16  Martin Maechler  <maechler@stat.math.ethz.ch>
198    
199            * R/Matrix.R (subset.ij): utility, as first step to faster
200               M [ <ij-matrix> ] indexing.
201    
202            * R/Matrix.R (.M.sub.i.logical): M[ <logical> ] : try better.
203    
204            * src/dense.c (ddense_symmpart, ddense_skewpart): new functions
205            for more efficient symmpart() and skewpart() methods.
206    
207            * src/Mutils.c (equal_string_vectors): utility
208    
209            * src/dense.c (ddense_to_symmetric): new function used in
210    
211            * R/symmetricMatrix.R: setAs(., "symmetricMatrix")
212    
213            * R/sparseMatrix.R, et_al (isSymmetric): add '...' to formals, in
214            order to match the generic (and evade .local(..)).
215    
216            * R/dsCMatrix.R: dgC -> dsC: use C code!
217    
218            * NAMESPACE, R/AllGeneric.R (symmpart, skewpart): new functions
219            as per TODO
220    
221            * R/Auxiliaries.R (setZero, all0Matrix): new utilities
222    
223            * R/symmetricMatrix.R: obvious symmpart(), skewpart() methods
224    
225    
226    2008-02-15  Martin Maechler  <maechler@stat.math.ethz.ch>
227    
228            * R/Ops.R (.Arith.Csparse): use diagU2N when needed in triangular
229    
230            * R/Auxiliaries.R (non0.i): take out of non0ind
231    
232            * R/ddenseMatrix.R (.trilDense, .triuDense, .bandDense):
233            make tril(), triu(), band() work for "matrix" and all "dense*"
234    
235            * R/triangularMatrix.R (.tri[lu].tr): need .diagU2N(*)
236            * tests/simple.R: test the fix above
237    
238            * R/sparseMatrix.R ([): simplification: no coerce to <general>
239                    before we use as(., <Tsparse>)[...] anyway
240    
241            * R/Rsparse.R (.viaC.to.R): mostly instead of .viaC.to.dgR()
242    
243            * R/triangularMatrix.R (isTriangular): methods for all subclasses
244            instead of "triangularMatrix" -- just to disambiguate
245    
246    2008-02-14  Martin Maechler  <maechler@stat.math.ethz.ch>
247    
248            * tests/Class+Meth.R (dotestMat): add m[FALSE, FALSE] { <-> TODO}
249            * tests/indexing.R: example that fails above
250    
251    2008-01-26  Martin Maechler  <maechler@stat.math.ethz.ch>
252    
253            * R/Matrix.R (.M.sub.i.2col): fix for logical matrix indexing
254            * R/Tsparse.R (.TM.sub.i.2col, .TM.repl.i.2col): ditto;
255                    now, M[lower.tri(M)] and  M[lower.tri(M)] <- v  work better
256    
257            * src/Tsparse.c (Tsparse_to_tCsparse): new fast utility.
258            * src/Tsparse.h, init.c: ditto
259            * R/Auxiliaries.R (isTriT): new; faster than going via Csparse
260                 both isTriC() and isTriT() now return TRUE with "kind" or FALSE.
261            * R/sparseMatrix.R (isTriangular): hence simplified
262    
263    2008-01-24  Martin Maechler  <maechler@stat.math.ethz.ch>
264    
265            * R/Ops.R (.Arith.Csparse): new utility factored out of former
266              <dgC> o <dgC>, extended for triangular and also used in  <dtC> o <dtC>.
267    
268    2008-01-23  Martin Maechler  <maechler@stat.math.ethz.ch>
269    
270            * tests/factorizing.R (checkSchur): and more tests for checking Schur()
271    
272            * inst/test-tools.R (isOrthogonal): new function; also file restructured
273    
274    2008-01-22  Martin Maechler  <maechler@stat.math.ethz.ch>
275    
276            * R/ngTMatrix.R: allow as(<numeric matrix>, "ngTMatrix") and hence
277            coercion to "nMatrix" and "pMatrix"
278    
279            * R/AllClass.R: "Schur" class;  "number" class union
280            * man/number-class.Rd:
281            * man/Schur-class.Rd:
282    
283            * R/eigen.R (.dgeSchur): utility, and return "Schur" class
284            (.simpleSchur): Schur() method for diagonal matrices
285            (.triSchur):    Schur() method for triangular matrices
286            (Schur.sym):    Schur() for symmetric matrices {building on eigen()}.
287    
288    
289    2008-01-21  Martin Maechler  <maechler@stat.math.ethz.ch>
290    
291            * src/dgCMatrix.c (dgCMatrix_QR): set @Dim slot (as per doc)
292    
293    2008-01-15  Martin Maechler  <maechler@stat.math.ethz.ch>
294    
295            * R/CHMfactor.R (solve): method for b="numeric", but also b="ANY"
296                    in order to ensure 'system = *' is not lost;
297                    formals()$system instead of cut&paste.
298            * tests/factorizing.R: test solve(<CHM..>, <numeric>)
299    
300    2008-01-11  Martin Maechler  <maechler@stat.math.ethz.ch>
301    
302            * DESCRIPTION (Date): make ready for release --> 0.999375-4
303    
304            * R/dgeMatrix.R: fix rcond() method for "dgeMatrix".
305    
306    2007-12-08  Martin Maechler  <maechler@stat.math.ethz.ch>
307    
308            * R/pMatrix.R: as(*, "matrix") now returns 0/1 *integer* matrix,
309                    and hence does as.vector(.).
310            * man/pMatrix-class.Rd: docs
311            * R/sparseMatrix.R: fix for printing "integer sparse"
312    
313            * tests/Class+Meth.R (tstMatrixClass): test M[FALSE], M[2] etc
314    
315            * R/Matrix.R and others: use "exact" function argument list for
316                    both "["   : (x, i,j, ..., drop)
317                    and  "[<-" : (x, i,j, ..., value)
318    
319            * R/denseMatrix.R: M[i] and M[i] <- v  (i vector) now work
320            * R/Tsparse.R (replTmat):    ditto
321            * R/diagMatrix.R (replDiag): ditto
322            * R/Csparse.R (replCmat):    ditto {was it worth the pain?}
323            * tests/indexing.R: testing the above
324    
325    2007-12-07  Martin Maechler  <maechler@stat.math.ethz.ch>
326    
327            * R/sparseMatrix.R (cov2cor): method for sparse matrices
328    
329            * R/diagMatrix.R ([<-): fix   D[ cbind(i,j) ] <- v
330    
331            * R/bind2.R: fix for Rsparse* and rbind2(dense,dense)
332    
333            * tests/Class+Meth.R: test cbind2, rbind2  and  diag<-
334    
335    2007-12-06  Martin Maechler  <maechler@stat.math.ethz.ch>
336    
337            * R/Matrix.R: "generic" cov2cor() method
338    
339            * R/nearPD.R: new 'only.values', 'keepDiag' arguments;
340                    speed up Q %*% D %*% t(Q)
341            * tests/dpoMatrix.R: test nearPD()
342    
343    2007-12-05  Doug Bates and Martin Maechler
344    
345            * R/sparseMatrix.R: xtabs(*, sparse=.) function; an extention of
346            stats::xtabs() allowing to create sparse matrices.
347    
348    2007-10-08  Martin Maechler  <maechler@stat.math.ethz.ch>
349    
350            * DESCRIPTION (Version): *-4 (released *-3 two days ago)
351    
352    2007-10-06  Martin Maechler  <maechler@stat.math.ethz.ch>
353    
354            * R/pMatrix.R: solve(<Matrix>, <pMatrix>)
355    
356    2007-10-05  Martin Maechler  <maechler@stat.math.ethz.ch>
357    
358            * R/LU.R: solve() method for "denseLU"
359    
360    2007-10-01  Martin Maechler  <maechler@stat.math.ethz.ch>
361    
362            * DESCRIPTION (Version): 0.999375-3 preparing for release
363    
364            * R/AllGeneric.R: simplify  if(.) .. else .. for R <= 2.5.1
365    
366            * R/Matrix.R (Matrix): .Internal(matrix(..)) different for R >= 2.7.0
367    
368    2007-09-26  Martin Maechler  <maechler@stat.math.ethz.ch>
369    
370            * R/pMatrix.R (.m.mult.pMat): fix <matrix> %*% <pMatrix>,
371              thanks to Kasper Kristensen.
372            * tests/matprod.R: regression test for that.
373    
374    2007-09-23 17:32  Douglas Bates <bates@stat.wisc.edu>
375    
376            * [r4778] R/AllGeneric.R: Check R version before defining generics for
377              primitives
378    
379    2007-09-13  Martin Maechler  <maechler@stat.math.ethz.ch>
380    
381            * R/denseMatrix.R (rcond): method
382            * R/sparseQR.R (rcond): method, use x or t(x)
383    
384    2007-09-12  Martin Maechler  <maechler@stat.math.ethz.ch>
385    
386            * R/dgeMatrix.R (rcond): method: work via qr.R() for non-square
387            matrices.
388            * R/sparseMatrix.R: Ditto for all other rcond() method definitions.
389    
390            * man/rcond.Rd: mention the more general definition, and add
391            example for non-square matrices.
392    
393            * man/chol.Rd: new file, for the S4 chol() generic and all methods.
394    
395    2007-09-11  Martin Maechler  <maechler@stat.math.ethz.ch>
396    
397            * R/sparseQR.R: add qr.R() method [to be used for rcond()]
398    
399    2007-09-01  Martin Maechler  <maechler@stat.math.ethz.ch>
400    
401            * R/Matrix.R ([<-): add (Matrix,missing,ANY,Matrix) etc
402            * tests/indexing.R: add new regression for the above cases.
403    
404    2007-08-30  Martin Maechler  <maechler@stat.math.ethz.ch>
405    
406            * src/Mutils.h (__sun): clause for alloca.h on Solaris
407    
408    2007-08-16  Martin Maechler  <maechler@stat.math.ethz.ch>
409    
410            * DESCRIPTION (Date, Version): 0.999375-2
411    
412    2007-08-15  Martin Maechler  <maechler@stat.math.ethz.ch>
413    
414            * R/HBMM.R (readMM): make work for pattern matrices as well
415    
416    2007-08-14 13:07  Douglas Bates <bates@stat.wisc.edu>
417    
418            * [r4730] src/Mutils.h: declare alloca
419            * [r4734] NAMESPACE, R/AllGeneric.R, R/Csparse.R, R/HBMM.R, R/Tsparse.R,
420              R/dgCMatrix.R, R/dgTMatrix.R, R/dsCMatrix.R, R/dsTMatrix.R,
421              man/externalFormats.Rd, src/Csparse.c, src/Csparse.h, src/DEPS.mkf,
422              src/HBMM.c, src/HBMM.h, src/Mutils.h, src/SOURCES_C.mkf, src/init.c,
423              src/mmio.c, src/mmio.h: Remove deprecated function writeHB and its
424              methods; switch writeMM to use CHOLMOD code; repair readMM
425    
426    2007-08-14  Martin Maechler  <maechler@stat.math.ethz.ch>
427    
428            * R/nearPD.R, man/nearPD.Rd (nearPD): new function built on Jens
429            Oehlschlaegel's ... result type still to be discussed!
430    
431    2007-08-10  Martin Maechler  <maechler@stat.math.ethz.ch>
432    
433            * man/image-methods.Rd: new, combining all image() methods
434    
435    2007-08-09  Martin Maechler  <maechler@stat.math.ethz.ch>
436    
437            * R/dgCMatrix.R: define qr() and lu() methods for "sparseMatrix"
438            to work via dgC...
439    
440            * R/Matrix.R (Matrix): special treatment for "table" (S3)
441    
442    2007-08-07  Martin Maechler  <maechler@stat.math.ethz.ch>
443    
444            * R/dgTMatrix.R (image): change defaults to
445                    aspect = "iso", colorkey = FALSE
446    
447    2007-08-06  Martin Maechler  <maechler@stat.math.ethz.ch>
448    
449            * src/dsyMatrix.c (dsyMatrix_matrix_mm): 'b' might be matrix;
450            must copy its *expanded* x slot before LAPACK call.
451    
452            * tests/matprod.R: test the last days' changes.
453    
454    2007-08-06 16:43  Douglas Bates <bates@stat.wisc.edu>
455    
456            * [r4712] inst/include/Matrix_stubs.c: Change R_cholmod_printf in stubs
457              as well as in sources
458            * [r4713] src/dsyMatrix.c: Duplicate the contents of the RHS before
459              Lapack call
460    
461    2007-08-03  Martin Maechler  <maechler@stat.math.ethz.ch>
462    
463            * R/Matrix.R (%*%, crossprod, tcrossprod): add method for
464                    ("Matrix", "matrix") which is needed in some cases.
465            Ditto for solve().
466    
467            * R/colSums.R (.as.dge.Fun): need ddenseMatrix methods to avoid
468            infinite recursion in dispatch for some cases.
469    
470    2007-08-02 08:48  Martin Maechler <maechler@stat.math.ethz.ch>
471    
472            * [r4693] src/chm_common.c: R_cholmod_printf() instead of Rprintf() just
473              so pointers match
474    
475    2007-08-02  Martin Maechler  <maechler@stat.math.ethz.ch>
476    
477            * DESCRIPTION (Date): set ready for release -- 0.999375-1
478    
479    2007-08-01 15:44  Douglas Bates <bates@stat.wisc.edu>
480    
481            * [r4686] inst/include/Matrix.h, inst/include/Matrix_stubs.c,
482              src/chm_common.c, src/chm_common.h: Change API for
483              numeric_as_chm_dense and N_AS_CHM_DN
484    
485    2007-08-01  Martin Maechler  <maechler@stat.math.ethz.ch>
486    
487            * src/dtrMatrix.c (dtrMatrix_matrix_mm): fix dimensionality check (!)
488            * tests/matprod.R: regr.test for it
489    
490    2007-07-20  Martin Maechler  <maechler@stat.math.ethz.ch>
491    
492            * R/dMatrix.R: fix from Brian for   Math2(., digits = "missing")
493            * tests/group-methods.R: and regression-test it
494    
495    2007-07-19 19:45  Douglas Bates <bates@stat.wisc.edu>
496    
497            * [r4642] inst/include/Matrix.h, inst/include/Matrix_stubs.c,
498              inst/include/cholmod.h, src/chm_common.c, src/init.c: Export
499              triplet_to_sparse, documentation, use typedefs
500    
501    2007-07-18  Martin Maechler  <maechler@stat.math.ethz.ch>
502    
503            * man/dpoMatrix-class.Rd: added 'corMatrix' example
504    
505            * src/dsyMatrix.[ch] (dsyMatrix_as_matrix): new 'keep_dimnames' arg
506            * src/dtrMatrix.[ch] (dtrMatrix_as_matrix): ditto
507            * src/init.c, R/dsyMatrix.R, R/dtrMatrix.R, R/lgTMatrix.R: ditto
508    
509            * R/lsparseMatrix.R: bug fix in "all" method
510            * R/Ops.R (.do.Logic.lsparse): "|" bug in borderline case
511    
512            * R/dsyMatrix.R (coerce->dsTMatrix): (i,j) slots should *not* have names
513            * R/ngTMatrix.R (coerce->ngTMatrix): ditto;
514                    + matrix |-> nMatrix coercion
515            * R/pMatrix.R: + setAs()  to dMatrix and from nMatrix
516            * man/pMatrix-class.Rd: ditto
517    
518            * R/Matrix.R (Summary): method for non-dMatrix
519    
520            * tests/Class+Meth.R (extraValid): new check about "dirty" slots
521            * tests/Class+Meth.R (tstMatrixClass): test norm(.);
522                    test all Summary methods.
523    
524    2007-07-16  Martin Maechler  <maechler@stat.math.ethz.ch>
525    
526            * R/dgeMatrix.R (norm, rcond): methods for 'matrix'
527    
528    2007-07-14  Martin Maechler  <maechler@stat.math.ethz.ch>
529    
530            * R/sparseMatrix.R (norm): simple methods for sparseMatrix
531    
532            * R/pMatrix.R (t?crossprod): methods for pMatrix
533    
534    2007-07-10  Douglas Bates  <bates@stat.wisc.edu>
535    
536            * src/dgeMatrix.c (dgeMatrix_colsums): Get the logic straight.
537    
538    2007-07-09 20:45  Douglas Bates <bates@stat.wisc.edu>
539    
540            * [r4579] src/dgeMatrix.c: Untangle horrible code in dgeMatrix_colsums
541              trying to fix a subtle bug - which has been somewhere else.
542    
543    2007-07-09 19:43  Martin Maechler <maechler@stat.math.ethz.ch>
544    
545            * [r4578] src/dgeMatrix.c: "cleaned" dgeMatrix_colsums() - but did not
546              solve the bug
547    
548    2007-07-08  Martin Maechler  <maechler@stat.math.ethz.ch>
549    
550            * src/dgCMatrix.c (compressed_to_TMatrix):
551    
552    2007-07-07  Martin Maechler  <maechler@stat.math.ethz.ch>
553    
554            * src/Csparse.c (Rsparse_validate): new, to have some validity
555            checking for RsparseMatrix
556            * src/dgCMatrix.c (xRMatrix_validate): ditto
557            * src/dtCMatrix.c (tRMatrix_validate): ditto
558    
559    2007-07-07  Douglas Bates <bates@stat.wisc.edu>
560    
561            * [r4567] R/AllClass.R: Slots already in RsparseMatrix were redefined in
562              lgRMatrix
563            * [r4568] DESCRIPTION: Prepare for bug-fix release
564            * [r4570] src/CHOLMOD/Check/cholmod_write.c: Include cholmod_matrixops.h
565              for declaration of cholmod_symmetry
566    
567    2007-07-06  Martin Maechler  <maechler@stat.math.ethz.ch>
568    
569            * DESCRIPTION (Version): 0.999375 merged into the trunk; ready for
570            release.
571    
572    2007-07-06 14:11  Douglas Bates <bates@stat.wisc.edu>
573    
574            * [r4559] src/iohb.c, src/iohb.h: Remove Harwell-Boeing input/output
575              functions - no longer used
576            * [r4560] src/HBMM.c, src/Mutils.c, src/dgTMatrix.c, src/dgeMatrix.c,
577              src/dspMatrix.c, src/dsyMatrix.c, src/dtCMatrix.c,
578              src/factorizations.c, src/sparseQR.c: Replace most calls to Calloc by
579              Alloca
580    
581    2007-07-06 13:14  Martin Maechler <maechler@stat.math.ethz.ch>
582    
583            * [r4558] inst/doc/Comparisons.Rnw, src/CHMfactor.c, src/Csparse.c,
584              src/Tsparse.c, src/chm_common.c, src/chm_common.h, src/dense.c,
585              src/dgCMatrix.c, src/dsCMatrix.c, src/dtTMatrix.c, src/sparseQR.c,
586              src/t_gCMatrix_colSums.c: more R_CheckStack()s
587    
588    2007-07-05 18:12  Douglas Bates <bates@stat.wisc.edu>
589    
590            * [r4550] inst/include/Matrix.h: Add the macro N_AS_CHM_DN to "alloca"
591              the required amount of memory then call M_numeric_as_chm_dense.
592            * [r4556] src/Mutils.h, src/dgCMatrix.c: Define and use the Alloca macro
593              (like Calloc but calling alloca)
594    
595    2007-07-05  Martin Maechler  <maechler@stat.math.ethz.ch>
596    
597            * R/sparseMatrix.R (printSpMatrix): renamed from prSpMatrix()
598            and extended with more sophisticated 'col.names' option.
599            * NAMESPACE: export  printSparseMatrix()
600            * man/printSpMatrix.Rd: document, incl. examples
601    
602    2007-07-04 16:21  Douglas Bates <bates@stat.wisc.edu>
603    
604            * [r4543] src/cs_utils.c, src/cs_utils.h, src/dgCMatrix.c,
605              src/dtCMatrix.c, src/sparseQR.c: CSP typedef for *cs and macro
606              AS_CSP. API change - pass the empty structure to Matrix_as_cs.
607    
608    2007-07-04  Martin Maechler  <maechler@stat.math.ethz.ch>
609    
610            * DESCRIPTION (Version): 0.99875-4
611    
612            * tests/Class+Meth.R (tstMatrixClass): add dimnames, and hence test
613            some dimnames perservation.
614    
615            * R/dsTMatrix.R (t-method): keep dimnames
616            * R/dtTMatrix.R:  ditto
617    
618            * R/sparseMatrix.R (prSpMatrix): print colnames when non-trivial
619            and ncol(.) < 10
620    
621            * src/cs_utils.c: drop check_class() and use Matrix_check_class()
622            from Mutils.h
623    
624            * src/lgCMatrix.c ([ln]csc_to_matrix): no longer lose dimnames,
625            e.g. in as(<ngCMatrix>, "matrix")
626    
627    2007-07-01 13:27  Douglas Bates <bates@stat.wisc.edu>
628    
629            * [r4529] .: Create a branch for the API changes from the 0.99875
630              series to the 0.999375 series
631            * [r4530] DESCRIPTION, inst/include/Matrix.h,
632              inst/include/Matrix_stubs.c, src/CHMfactor.c, src/Csparse.c,
633              src/Mutils.h, src/Tsparse.c, src/chm_common.c, src/chm_common.h,
634              src/dense.c, src/dgCMatrix.c, src/dsCMatrix.c, src/dtTMatrix.c,
635              src/t_gCMatrix_colSums.c: API change - pass the empty structure to the
636              as_cholmod_x functions
637    
638    2007-06-30 09:05  Martin Maechler <maechler@stat.math.ethz.ch>
639    
640            * [r4527] trunk/Matrix/DESCRIPTION, trunk/Matrix/NAMESPACE,
641              trunk/Matrix/inst/doc/Comparisons.Rnw: add session- and hardware-info
642              to Comparisons
643    
644    >>>>>>> .merge-right.r4561
645    2007-06-29  Martin Maechler  <maechler@stat.math.ethz.ch>
646    
647            * DESCRIPTION (Version): 0.99875-3 ready to be released.
648    
649            * R/sparseMatrix.R (spMatrix): make spMatrix(3,4) working
650    
651            * R/AllGeneric.R: set "Math" (and "Math2") group generics in a way
652            that should also work in a future version of R.
653    
654    2007-06-21  Martin Maechler  <maechler@stat.math.ethz.ch>
655    
656            * NAMESPACE, R/AllClass.R: "xsparseVector" class union.
657    
658            * R/sparseVector.R: more *sparseVector coercions, notably for
659            non - double ones.
660    
661    2007-06-19  Martin Maechler  <maechler@stat.math.ethz.ch>
662    
663            * R/colSums.R: new file for all (col|row)(Sums|Means) methods,
664              notably the new ones building on the new .Call(.)s:
665    
666            * src/dgCMatrix.c (DEF_gCMatrix_COLSUMS): use to define
667            all 4 of [dlin]gCMatrix_colSums().
668    
669    2007-06-18 16:12  Douglas Bates <bates@stat.wisc.edu>
670    
671            * [r4472] src/Syms.h, src/init.c: Added Matrix_lengthSym
672            * [r4473] src/dgCMatrix.c: Modified dgCMatrix_colSums for sparseVector
673              result
674    
675    2007-06-16  Martin Maechler  <maechler@stat.math.ethz.ch>
676    
677            * R/kronecker.R: fix typo (could lead to inf.recursion)
678            * test/simple.R: testing that
679    
680            * R/sparseMatrix.R (prSpMatrix): change to be used as print()
681            method as well (which can have arguments, show() can't).
682    
683    2007-06-16 15:52  Douglas Bates <bates@stat.wisc.edu>
684    
685            * [r4466] R/dgCMatrix.R, src/dgCMatrix.c, src/dgCMatrix.h, src/init.c:
686              added dgCMatrix_colSums for [col,row][Sums,Means]
687    
688    2007-06-15 23:15  Douglas Bates <bates@stat.wisc.edu>
689    
690            * [r4460] R/sparseMatrix.R, man/dgCMatrix-class.Rd, src/dgCMatrix.c,
691              src/dgCMatrix.h, src/init.c: added lm.fit.sparse (unexported),
692              coercion of "factor" to "dgCMatrix" and dgCMatrix_cholsol
693            * [r4461] R/AllClass.R, man/sparseMatrix-class.Rd: draft "indicators"
694              class
695            * [r4463] R/sparseMatrix.R, man/dgCMatrix-class.Rd,
696              man/sparseMatrix-class.Rd: Don't need an "indicators" class - use the
697              row names to store the levels - duh!  Added an example.
698    
699    2007-06-14  Martin Maechler  <maechler@stat.math.ethz.ch>
700    
701            * src/Csparse.c (Csparse_validate): check for *repeated* entries
702            thanks to example from Christian Buchta; with a test here:
703            * tests/simple.R:
704    
705    2007-06-07  Martin Maechler  <maechler@stat.math.ethz.ch>
706    
707            * R/Auxiliaries.R (callGeneric): another fix, needed for some cases
708            of colSums(*, sparseResult = TRUE)
709    
710    2007-06-06  Martin Maechler  <maechler@stat.math.ethz.ch>
711    
712            * R/lsparseMatrix.R, R/ldenseMatrix.R (all, any): change default to
713            'na.rm = FALSE' as "everywhere" else in R.
714    
715    2007-06-05 Douglas Bates <bates@stat.wisc.edu>
716    
717            * [r4421] src/CSparse_install.sh: Modify for new organization of
718              CSparse package
719            * [r4425] src/UFsparse_download.sh: Update to version 3.0.0 of
720              SuiteSparse
721            * [r4426] src/Makefile: add ./UFconfig to the include path for
722              compilation
723            * [r4427] src/cs.[ch]: update to CSparse version 2.2.0
724            * [r4428] inst/doc/UFsparse/* src/{AMD,CHOLMOD,COLAMD}/*
725              src/UFconfig/UFconfig.h: Update to version 3.0.0 of SuiteSparse
726    
727    2007-06-05  Martin Maechler  <maechler@stat.math.ethz.ch>
728    
729            * R/Auxiliaries.R (emptyColnames): + argument msg.if.not.empty, used in
730            * R/sparseMatrix.R (prSpMatrix): now gives a message about
731            suppressed column names.
732    
733    2007-06-04 17:13  Douglas Bates <bates@stat.wisc.edu>
734    
735            * [r4418] src/Csparse.c, src/HBMM.c, src/Mutils.c, src/Mutils.h,
736              src/Tsparse.c, src/chm_common.c, src/chm_common.h, src/dgCMatrix.c,
737              src/dgeMatrix.c, src/dpoMatrix.c, src/dpoMatrix.h, src/dppMatrix.c,
738              src/dppMatrix.h, src/dsCMatrix.c, src/dspMatrix.c, src/dspMatrix.h,
739              src/dsyMatrix.c, src/dsyMatrix.h, src/dtpMatrix.c, src/dtrMatrix.c:
740              Remove warnings after change to const char* CHAR
741    
742    2007-06-04 17:11  Douglas Bates <bates@stat.wisc.edu>
743    
744            * [r4417] inst/include/Matrix_stubs.c, inst/include/cholmod.h: Corrected
745              type of M_cholmod_ssmult
746    
747    2007-06-03 14:42  Douglas Bates <bates@stat.wisc.edu>
748    
749            * [r4412] inst/include/Matrix_stubs.c, inst/include/cholmod.h,
750              src/init.c: Yet another cholmod export - cholmod_ssmult
751    
752    2007-05-23  Martin Maechler  <maechler@stat.math.ethz.ch>
753    
754            * NAMESPACE: exported drop0(), since
755            * man/drop0.Rd: I have seen several cases, I really wanted to use
756            it, so our users may want too.
757    
758    2007-05-22  Martin Maechler  <maechler@stat.math.ethz.ch>
759    
760            * man/colSums.Rd: separately document colSums() etc, since these
761            have the extra argument 'sparseResult'.
762    
763    2007-05-21  Martin Maechler  <maechler@stat.math.ethz.ch>
764    
765            * R/sparseMatrix.R (spMatrix): utility (T)sparse Matrix constructor;
766            * man/spMatrix.Rd: docu., including examples
767    
768            * R/Auxiliaries.R (sp.colMeans): etc, using a patched callGeneric(),
769            in order to make colMeans() etc fast *and* correct.
770            * R/sparseVector.R (replSPvec): "[<-" functionality for
771            sparseVectors; tested in
772            * tests/simple.R:
773    
774    2007-05-19  Martin Maechler  <maechler@stat.math.ethz.ch>
775    
776            * R/sparseMatrix.R (print.sparseSummary): and summary() method for
777            (very) sparse Matrices; output similar to Matlab's print().
778    
779    2007-05-17  Douglas Bates  <bates@stat.wisc.edu>
780    
781            * src/HBMM.c (Matrix_writeMatrixMarket): Write 1-based, not
782            0-based, indices (Jose Quesada <quesada@gmail.com>).
783    
784    2007-05-16  Douglas Bates  <bates@stat.wisc.edu>
785    
786            * R/CHMfactor.R: Added solve methods for a CHMfactor object.
787    
788    2007-05-16  Martin Maechler  <maechler@stat.math.ethz.ch>
789    
790            * R/Auxiliaries.R (sparsapply): new utility, much faster than
791            tapply1() for large sparse matrices.
792    
793    2007-05-15  Martin Maechler  <maechler@stat.math.ethz.ch>
794    
795            * R/Matrix.R (dim<-): reshape now via sparseVector.
796    
797            * R/sparseVector.R: methods and function for
798            * R/AllClass.R: new "sparseVector" class and daughters.
799            * NAMESPACE: export new classes
800    
801    2007-05-14  Martin Maechler  <maechler@stat.math.ethz.ch>
802    
803            * DESCRIPTION (Version): 0.99875-1
804            * src/Makefile.win: also remove Lapack code from here (cf. 04-25).
805    
806    2007-05-11  Martin Maechler  <maechler@stat.math.ethz.ch>
807    
808            * R/Tsparse.R ([, Tsparse): fix last case: *duplicated*, symmetric
809            indexing
810            * tests/indexing.R: test set for that.
811    
812    2007-05-08  Martin Maechler  <maechler@stat.math.ethz.ch>
813    
814            * R/Tsparse.R (replTmat): fix the case of *duplicated* index
815            entries.
816            * tests/indexing.R(out): add regression test for it
817    
818    2007-04-30  Martin Maechler  <maechler@stat.math.ethz.ch>
819    
820            * R/(l(dense|sparse))?Matrix.R (!): use 'x', not 'e1' as argument
821            name for "!" method definitions.
822    
823    2007-04-26  Martin Maechler  <maechler@stat.math.ethz.ch>
824    
825            * R/Tsparse.R (intI): new utility, used for "[" :
826                    Cleanup up there, and fixes for duplicated indices - more TODO!
827    
828            * tests/indexing.R(out): more tests
829    
830    2007-04-25  Douglas Bates  <bates@stat.wisc.edu>
831    
832            * DESCRIPTION,src/Makefile: require R>= 2.5.0 and remove Lapack
833            code that is now part of the R Lapack library.
834    
835            * src/init.c,inst/include/{Matrix_stubs.c,cholmod.h}:export
836            cholmod_factorize_p (used in lme4 for GLMMs and NLMMs).
837    
838    2007-04-21  Martin Maechler  <maechler@stat.math.ethz.ch>
839    
840            * R/Matrix.R (image): method for all Matrices, not just sparse ones.
841    
842    2007-04-17  Martin Maechler  <maechler@stat.math.ethz.ch>
843    
844            * R/Auxiliaries.R (tapply1): unname(.) -> colSums() etc don't end
845            up with extraneous names '0'...'<n-1>'
846    
847    2007-04-12  Martin Maechler  <maechler@stat.math.ethz.ch>
848    
849            * R/dgTMatrix.R (mat2dgT): care about NAs
850    
851    2007-04-11  Martin Maechler  <maechler@stat.math.ethz.ch>
852    
853            * R/kronecker.R: triangularity preserving methods
854    
855    2007-03-27  Martin Maechler  <maechler@stat.math.ethz.ch>
856    
857            * R/kronecker.R: new file collecting kronecker() methods in one
858                    place.  Goal: become much faster!
859    
860    2007-03-23  Martin Maechler  <maechler@stat.math.ethz.ch>
861    
862            * src/dtCMatrix.c (dtCMatrix_solve): use the new code from Kasper
863            Kristensen based cs_spsolve() instead of _lsolve & _usolve which
864            can be much faster.
865    
866            * tests/matprod.R: add regression tests for these (upper & lower).
867    
868    2007-03-19  Martin Maechler  <maechler@stat.math.ethz.ch>
869    
870            * R/Matrix.R (diff): method for our Matrices.
871    
872            * R/sparseMatrix.R (isDiagonal): check dim()!
873    
874    2007-03-17  Martin Maechler  <maechler@stat.math.ethz.ch>
875    
876            * R/Matrix.R (dim<-): new method for "reshape()" built on a
877            proposal from Tamas Papp.
878    
879    2007-03-16  Martin Maechler  <maechler@stat.math.ethz.ch>
880    
881            * R/AllGeneric.R: remove all  if(!isGeneric(.))  clauses
882    
883            * R/zzz.R (.onLoad, .onUnload): do *not* leave bind_activation(TRUE);
884            rather define and export  cBind() and rBind() only.
885            --> useRs *must* change code that used to have cbind()/rbind() !!
886    
887            * R/bind.R: change tests from cbind() to cBind() and similarly to rBind()
888            * R/bind.Rout.save: ditto
889    
890    2007-02-16  Douglas Bates  <bates@r-project.org>
891    
892            * DESCRIPTION (Date, Version): 0.9975-11 with new date
893            * src/dgCMatrix.c (R_to_CMatrix, compressed_to_TMatrix): remove
894            const modifier on declaration of the array 'valid'
895    
896    2007-02-12  Douglas Bates  <bates@stat.wisc.edu>
897    
898            * R/CHMfactor.R: Add image method (coercion to sparseMatrix).
899    
900    2007-02-05  Martin Maechler  <maechler@stat.math.ethz.ch>
901    
902            * DESCRIPTION (Date, Version): 0.9975-10 with new date.
903    
904            * R/Ops.R (Arith): make sure Csparse o Csparse also works for e.g. ntCMatrix
905            * tests/simple.R: test the above and some of these coercions:
906    
907            * R/nsparseMatrix.R: coercing "Csparse" to "lsparseMatrix";
908                    be careful to avoid infinite recursion, using new coercions in
909            * R/ngCMatrix.R and nsC... and ntC...
910            * R/lsparseMatrix.R: ditto
911    
912            * R/SparseM-conv.R: more conversion, notably for triplet matrices.
913    
914            * src/dgCMatrix.c (R_to_C_Matrix): port Doug's fix and
915            * R/Rsparse.R: reactivate .Call()s
916    
917            * tests/Class+Meth.R: a bit more on actual classes
918    
919    2007-02-04  Douglas Bates  <bates@stat.wisc.edu>
920    
921            * src/dgCMatrix.c (compressed_to_TMatrix): fix memory bug using strdup()
922    
923    2007-02-03  Martin Maechler  <maechler@stat.math.ethz.ch>
924    
925            * DESCRIPTION (Version): 0.9975-10 to upload
926    
927            * tests/Class+Meth.R (tstMatrixClass): require coercions to
928            specific classes less unconditionally.
929    
930            * R/Auxiliaries.R: get rid of as_Tsparse() and as_Rsparse()
931    
932            * R/Tsparse.R (triu): etc, use as(*, "TsparseMatrix") instead of as_Tsparse()
933    
934            * R/Rsparse.R (.R.2.T): R-level workaround using compressed_to_TMatrix.
935            * R/Rsparse.R (.R.2.C): R-level workaround since C-level
936            R_to_CMatrix segfaults on one platform.
937            Eliminate most coercion method to *specific* classes, and replace
938            with virtual classes coercions.
939    
940    
941    2007-02-01  Martin Maechler <maechler@stat.math.ethz.ch>
942    
943            * src/init.c: export the CHM...._validate() placeholders, since
944            they *are* called.
945    
946            * tests/Class+Meth.R (classCanCoerce): and starting to test
947            all as(<from>, <to>)
948    
949    2007-01-30  Martin Maechler  <maechler@stat.math.ethz.ch>
950    
951            * R/Tsparse.R ([): more care when subsetting triangular Tsparse
952            * tests/indexing.R: tested now
953            * tests/indexing.Rout.save: updated
954    
955            * src/Csparse.c (Csparse_to_dense): use Rkind = -1 for PATTERN to
956            * src/chm_common.c (chm_dense_to_SEXP): return "ngeMatrix" when
957            appropriate.
958    
959            * NAMESPACE: export a trivial
960            * R/Matrix.R: drop() Matrix-method
961    
962            * R/AllClass.R: moved all prototypes to virtual super classes.
963    
964            * R/Rsparse.R: many more coercions to have less exceptions in
965            * tests/Class+Meth.R:
966    
967            * R/Ops.R (Compare): tweak for case with NA
968            * tests/simpl.R: hence another 'FIXME' eliminated
969    
970    2007-01-29  Martin Maechler  <maechler@stat.math.ethz.ch>
971    
972            * R/diagMatrix.R (solve): the obvious methods for diagonalMatrix
973            objects.
974    
975            * tests/Class+Meth.R (tstMatrixClass): now testing diag(), nnzero(),
976              and more of "!", "&", "|", all, any; coercions
977    
978            * R/Rsparse.R: many coercions (which enable quite a few other
979            methods), thanks to enhancements in
980            * src/dgCMatrix.c (R_to_CMatrix): new, and
981            * src/dgCMatrix.c (compressed_to_TMatrix): now for (d,l,n) ,
982            symmetric & triangular and ..RMatrix objects.
983    
984            * src/TMatrix_as.c (Matrix_T_as_DENSE,Matrix_T_as_GENERAL):
985            renamed file from src/dsTMatrix.c;
986            now dealing with symmetric and triangular Tsparse coercions, both
987            to dense and general.
988    
989    2007-01-27  Martin Maechler  <maechler@stat.math.ethz.ch>
990    
991            * src/dsTMatrix.c: has now "l" and "n" methods besides the "d" ones.
992    
993            * R/Ops.R (Arith): <dgCMatrix> o <numeric> now remains sparse
994            where sensible when the <numeric> is of length > 1.
995    
996    2007-01-26  Martin Maechler  <maechler@stat.math.ethz.ch>
997    
998            * R/Matrix.R ([<-): for M[] <- value: fix length
999    
1000    2007-01-25  Martin Maechler  <maechler@stat.math.ethz.ch>
1001    
1002            * R/Auxiliaries.R (n2l_Matrix): new, to be used in
1003            * R/ndenseMatrix.R: new coercions n* -> l*
1004    
1005    2007-01-22  Martin Maechler  <maechler@stat.math.ethz.ch>
1006    
1007            * R/triangularMatrix.R: new file; simple triu() and tril() methods.
1008    
1009            * R/Ops.R ("Logic"): and other "Ops", many updates
1010    
1011    2007-01-18  Martin Maechler  <maechler@stat.math.ethz.ch>
1012    
1013            * src/Mutils.h (SET_DimNames): new utility
1014    
1015            * R/Auxiliaries.R (nnzero): improved and now exported via
1016    
1017            * NAMESPACE: + nnzero(); length() == prod(dim(.)) method for all "Matrix" objects
1018    
1019    2007-01-17  Martin Maechler  <maechler@stat.math.ethz.ch>
1020    
1021            * R/diagMatrix.R (!): fix typo.
1022    
1023    2007-01-16  Martin Maechler  <maechler@stat.math.ethz.ch>
1024    
1025            * R/Auxiliaries.R (as_Csparse): and quite a few others:
1026                    allow to pass class definition --> speedup
1027            * R/sparseMatrix.R: apply the above
1028    
1029            * R/Csparse.R: coercion Csparse* to dense* now preserves shape properties.
1030    
1031            * src/Mutils.h (mMatrix_as_geMatrix): new, based on
1032            * src/Mutils.c (dup_mMatrix_as_geMatrix): new; generalization of
1033            old dup_mMatrix_as_dgeMatrix), eliminating a long-standing "FIXME".
1034    
1035            * src/dense.c (dense_to_Csparse): use new mMatrix_as_geMatrix()
1036    
1037            * R/denseMatrix.R (.dense2C): based on dense_to_Csparse: name it,
1038            and use it for "sparse*" as well, since it's faster than the
1039            as_Csparse(.) way.
1040    
1041    2007-01-15  Martin Maechler  <maechler@stat.math.ethz.ch>
1042    
1043            * R/Ops.R ("Logic"): more methods, notably an  <lgC> o <lgC> one.
1044    
1045    2007-01-12  Martin Maechler  <maechler@stat.math.ethz.ch>
1046    
1047            * R/Tsparse.R (.TM.repl.i.2col): new internal function to be used
1048            as method for   M[ ij ] <- v
1049            * R/Csparse.R:: go via Tsparse for "M[ij] <- v"
1050    
1051            * R/Ops.R: "Compare" for (C|R)sparse: need pointer slot for all
1052            FALSE answer
1053    
1054            * R/Csparse.R (replCmat): fix the "all non-zero" case with reordering
1055            * tests/indexing.R: test it, and some of the above
1056    
1057    2007-01-05  Martin Maechler  <maechler@stat.math.ethz.ch>
1058    
1059            * R/Auxiliaries.R (is_duplicatedT): new utility
1060    
1061    2007-01-05  Douglas Bates  <bates@stat.wisc.edu>
1062    
1063            * src/init.c (R_init_Matrix): export cholmod_scale
1064    
1065    2006-12-30  Martin Maechler  <maechler@stat.math.ethz.ch>
1066    
1067            * R/zzz.R (tmp): for R >= 2.5.0, extend formals of our
1068            base::as.matrix to (x, ...)
1069    
1070    2006-12-28  Martin Maechler  <maechler@stat.math.ethz.ch>
1071    
1072            * R/Ops.R ("Arith" etc): move almost all "Ops" methods to new R
1073            file; start using "Logic", hence
1074    
1075            * DESCRIPTION (Depends): R >= 2.4.1 (since we want "Logic")
1076            * NAMESPACE: import and export "Logic"
1077    
1078    2006-12-27  Martin Maechler  <maechler@stat.math.ethz.ch>
1079    
1080            * src/zpotfr.f and dependencies: use LAPACK 3.1 version
1081            only needed previously to R version 2.5.0.
1082    
1083    2006-12-26  Martin Maechler  <maechler@stat.math.ethz.ch>
1084    
1085            * DESCRIPTION (Date, Version): 0.9975-8, ready for release
1086    
1087            * R/Tsparse.R (replTmat): fix subassignment of triangular
1088            * R/Csparse.R (replCmat): ditto
1089            * tests/indexing.R: more tests, incl the above fix
1090    
1091    2006-12-23  Martin Maechler  <maechler@stat.math.ethz.ch>
1092    
1093            * R/Auxiliaries.R (drop0): extend for non CSparse
1094            * R/Auxiliaries.R (diagU2N): should work for all sparseMatrix
1095    
1096            * src/Csparse.c (Csparse_to_Tsparse, Csparse_general_to_symmetric):
1097                    use uplo correctly (!); other places: use uplo_P() macro
1098    
1099            * R/Csparse.R (replCmat): call diagU2N() when needed
1100            * R/Tsparse.R (replTmat): ditto
1101    
1102            * src/dtCMatrix.c (tCMatrix_validate): new
1103            * src/dtTMatrix.c (tTMatrix_validate): new, used in
1104            * R/AllClass.R: for validity of dtC, dsC, and dtT, dsT.
1105    
1106            * R/diagMatrix.R (replDiag): to use in [<-
1107    
1108    2006-12-22  Martin Maechler  <maechler@stat.math.ethz.ch>
1109    
1110            * R/Auxiliaries.R (as_Csparse2, as_geSimpl): new functions;
1111                    also more general diagU2N().
1112    
1113    2006-12-21  Martin Maechler  <maechler@stat.math.ethz.ch>
1114    
1115            * R/bind2.R: new file for all cbind2(), rbind() methods moved here
1116            from R/<foo>Matrix.R files. Better diagonal & improved sparse methods.
1117    
1118    2006-12-20  Martin Maechler  <maechler@stat.math.ethz.ch>
1119    
1120            * tests/bind.R: a few more cases
1121            * R/Auxiliaries.R (.M.kind): also work for atomic vectors
1122    
1123            * R/denseMatrix.R (cbind2/rbind2): moved here (and generalized) from
1124            * R/ddenseMatrix.R (cbind2/rbind2)
1125            * R/Tsparse.R (replTmat): final(?!) fix for "[<-" ..
1126            * tests/indexing.R
1127            * tests/indexing.Rout.save: updated
1128    
1129    2006-12-18  Martin Maechler  <maechler@stat.math.ethz.ch>
1130    
1131            * R/Tsparse.R (replTmat): fixed a remaining "[<-" bug in
1132            * tests/indexing.R
1133    
1134    2006-12-15  Martin Maechler  <maechler@stat.math.ethz.ch>
1135    
1136            * R/sparseMatrix.R (prSpMatrix): "." alignment much improved:
1137            align with proper position of "0", i.e., right for integers.
1138            argument 'align' by default is "fancy".
1139    
1140    2006-12-14  Martin Maechler  <maechler@stat.math.ethz.ch>
1141    
1142            * R/sparseMatrix.R: delegate "Compare" to "Csparse.."
1143            * R/Csparse.R: and fix "Compare" for more cases.
1144            * tests/Class+Meth.R: test some of these (m == m, m != m)
1145    
1146    2006-12-13  Martin Maechler  <maechler@stat.math.ethz.ch>
1147    
1148            * R/lsparseMatrix.R: all() and any() methods
1149            * R/ldenseMatrix.R:      ditto
1150            * NAMESPACE, R/Matrix.R: ditto
1151    
1152            * man/all-methods.Rd: document them minimally
1153    
1154            * tests/simple.R: add a few examples for these
1155    
1156    2006-12-11  Martin Maechler  <maechler@stat.math.ethz.ch>
1157    
1158            * R/Tsparse.R ([): fix long standing typo in symmetric case
1159            * man/dsCMatrix-class.Rd: add example exhibiting the above case
1160    
1161    2006-12-10  Douglas Bates  <bates@stat.wisc.edu>
1162    
1163            * src/CHMfactor.c (CHMfactor_to_sparse): change LDL factorization
1164            to LL before converting to a sparse matrix. (The LDL form can be
1165            converted to a sparse matrix but it is implicitly a unit
1166            triangular matrix and a diagonal matrix overwritten on the diagonal.)
1167    
1168    2006-12-09  Douglas Bates  <bates@stat.wisc.edu>
1169    
1170            * src/chm_common.c (chm_factor_to_SEXP): allocate and fill the Dim slot.
1171    
1172    2006-12-08  Douglas Bates  <bates@stat.wisc.edu>
1173    
1174            * DESCRIPTION (Version): updated -> release 0.9975-7
1175            * src/{init.c,chm_common.c}, inst/include/*: export cholmod_analyze_p
1176    
1177    2006-11-30  Martin Maechler  <maechler@stat.math.ethz.ch>
1178    
1179            * R/diagMatrix.R (%*%): write a direct [diag o Csparse] method
1180    
1181    2006-11-29  Douglas Bates  <bates@stat.wisc.edu>
1182    
1183            * src/dgeMatrix.c (dgeMatrix_solve): Check error code from dgetri.
1184            * tests/dg_Matrix.R: Add Barry Rowlingson's test of a matrix that
1185            is exactly singular.
1186    
1187    2006-11-07  Martin Maechler  <maechler@stat.math.ethz.ch>
1188    
1189            * DESCRIPTION (Date): updated -> release 0.9975-6
1190    
1191    2006-11-06  Martin Maechler  <maechler@stat.math.ethz.ch>
1192    
1193            * R/Csparse.R (replCmat): symmetric indexing of symmetric matrix
1194            now returns symmetric.
1195    
1196            * R/zzz.R ("diag<-"): replace "diag<-" in base for R <= 2.4.x
1197    
1198            * R/Matrix.R (.M.sub.i.2col):  new, for  M[ cbind(i,j) ] indexing.
1199            * R/Matrix.R (.M.repl.i.2col): new, for  M[ cbind(i,j) ] <- value
1200    
1201            * R/Auxiliaries.R (.type.kind): added
1202    
1203    2006-11-04  Martin Maechler  <maechler@stat.math.ethz.ch>
1204    
1205            * src/cs.[ch]: updated to CSparse Version 2.0.3 by simply
1206            running src/CSparse_install.sh
1207    
1208            * R/denseMatrix.R: "[": keep symmetric on symmetric indexing.
1209    
1210    2006-11-03  Martin Maechler  <maechler@stat.math.ethz.ch>
1211    
1212            * src/dsCMatrix.c (dsCMatrix_Csparse_solve): new
1213            * R/dsCMatrix.R (solve): "fully-sparse" using the above.
1214    
1215            * R/AllClass.R: "pMatrix" now also inherits from "generalMatrix"
1216    
1217            * tests/Class+Meth.R (tstMatrixClass): now assure
1218            the (important in method programming) property :
1219    
1220                    ###>>  Every "Matrix" is either
1221                    ###>>  "general*", "symmetric*", "triangular*" or "diagonal*"
1222    
1223                    (where "*" stands for "Matrix")
1224    
1225            * R/Auxiliaries.R (diagU2N): now .Call()s Csparse_diagU2N for <Csparse>
1226    
1227            * R/dMatrix.R (Compare(<dMatrix>,<dMatrix>): update and
1228            * tests/validObj.R: checks for "comparison"
1229    
1230            * R/sparseMatrix.R ([): improved indexing for sparse;
1231                    trying to keep <symmetric>[ n, n] symmmetric
1232    
1233            * tests/indexing.R: indexing for logical sparse now ok
1234    
1235    
1236    2006-11-02  Martin Maechler  <maechler@stat.math.ethz.ch>
1237    
1238            * src/Tsparse.c: use xTsparse_validate() , and hence remove
1239    
1240            * src/{ltC,lsC,lgT}Matrix.[ch]: removed
1241    
1242    2006-11-02  Martin Maechler  <maechler@stat.math.ethz.ch>
1243    
1244            * R/AllClass.R (Matrix-class): check length of dimnames in validity.
1245    
1246            * tests/simple.R: validObject() checking the above.
1247    
1248            * src/dgCMatrix.c (xCMatrix_validate): new, small and simple,
1249            replacing both dgCMatrix_validate and lgCM*.
1250    
1251            * src/Csparse.c (Csparse_dense_prod, etc): do not lose dimnames;
1252            fix dimnames setting in other places.
1253            * src/chm_common.c (chm_dense_to_SEXP): now can pass dimnames
1254    
1255    2006-11-01  Martin Maechler  <maechler@stat.math.ethz.ch>
1256    
1257            * R/Csparse.R,src/Csparse.c, etc: tcrossprod(<CsparseM>,<CsparseM>)
1258    
1259            * R/sparseMatrix.R (isSymmetric): drop 'factors' slot for
1260            symmetry test, via
1261            * R/Auxiliaries.R (.as.dgC.0.factors):
1262    
1263    2006-11-01  Douglas Bates  <bates@r-project.org>
1264    
1265            * R/Csparse.R,src/Csparse.c,tests/matprod.R,
1266            man/CsparseMatrix-class.Rd: crossprod(<CsparseMatrix>,
1267            <CsparseMatrix>) added
1268    
1269    2006-10-30  Martin Maechler  <maechler@stat.math.ethz.ch>
1270    
1271            * tests/matprod.R: add a variation of Harri's example
1272    
1273            * R/dsparseMatrix.R: fix crossprod(<dsparse>, <dge>) to *not*
1274            recursive infinitely.
1275    
1276            * R/dgCMatrix.R: + solve(<sparse>, <sparse>)
1277    
1278            * tests/indexing.R: add test for the "<" bug fixed 10-27 in R/dMatrix.R
1279    
1280    2006-10-28  Martin Maechler  <maechler@stat.math.ethz.ch>
1281    
1282            * tests/Class+Meth.R (tstMatrixClass): more: use non-trivial
1283            matrix if possible; test m+m == 2*m; now test dgRMatrix.
1284            * R/dgRMatrix.R (.to.dgR): a few more coercions, in order to
1285            satisfy the above test.
1286    
1287    2006-10-27  Martin Maechler  <maechler@stat.math.ethz.ch>
1288    
1289            * R/Matrix.R (Ops):  <Matrix> o <matrix>  method added
1290    
1291            * R/dgCMatrix.R: solve(a, b="missing") based on
1292            * src/dgCMatrix.c (dgCMatrix_matrix_solve): extend to work with
1293            RHS = NULL.
1294    
1295            * R/diagMatrix.R (diagdiagprod): extend %*% etc to ldiMatrix;
1296            add more (needed) [t]crossprod() methods.
1297    
1298            * man/ddiMatrix-class.Rd: more info, notably on 'diag'
1299    
1300            * R/Auxiliaries.R (as_CspClass): cleanup
1301            (drop0): internal utility for "Csparse_drop(*, 0)"
1302            (.bail.out.2): encourage active feedback
1303    
1304    2006-10-26  Martin Maechler  <maechler@stat.math.ethz.ch>
1305    
1306            * R/dMatrix.R(Compare): new(), then slots [no validity check]
1307    
1308            * src/Csparse.c (Csparse_validate): fixed (and more efficient in
1309            non-valid or 'sorted' case).
1310    
1311            * R/dsparseMatrix.R: add "chol" method.
1312            * R/ddenseMatrix.R: ditto
1313    
1314            * R/diagMatrix.R (Ops): group methods for  <diagonal> o <sparse>
1315            * NAMESPACE (Ops)
1316            * R/diagMatrix.R (diag2T): simple utility used "higher level"
1317            coercion; deprecating direct lower level coercions.
1318    
1319            * R/*.R (seq): use seq_len() and seq_along() where possible.
1320    
1321    
1322    2006-10-23  Martin Maechler  <maechler@stat.math.ethz.ch>
1323    
1324            * DESCRIPTION (Version): 0.9975-5 ready for release
1325    
1326    2006-10-20  Douglas Bates  <bates@stat.wisc.edu>
1327    
1328            * src/init.c (R_init_Matrix): export more cholmod CCallable functions.
1329    
1330    2006-10-20  Martin Maechler  <maechler@stat.math.ethz.ch>
1331    
1332            * R/AllClass.R (corMatrix): add 'validity' check;
1333                    comment out unused "LDL" class definition
1334            * NAMESPACE: mention, but do not export "LDL" class
1335            * R/corMatrix.R: new (simple), needed for R-devel with
1336            * tests/Class+Meth.R (tstMatrixClass): 1 exception for corMatrix
1337              coerce and t() exceptions for all 5 'Mat.MatFact' classes.
1338    
1339    2006-10-19  Douglas Bates  <bates@stat.wisc.edu>
1340    
1341            * src/chm_common.h: Add R_cholmod_start to initialize cholmod to
1342            use Rprintf and R's error handling.
1343    
1344    2006-10-17  Martin Maechler  <maechler@stat.math.ethz.ch>
1345    
1346            * R/diagMatrix.R (%*%): rep(*, each = .) in Matrix %*% diagonal.
1347            * tests/matprod.R: add tests for the bug fixed.
1348    
1349    2006-10-11  Douglas Bates  <bates@stat.wisc.edu>
1350    
1351            * src/HBMM.[ch]: remove HarwellBoeing format for writing.
1352            * src/SOURCES_C.mkf (SOURCES_C): no longer compile iohb.c
1353    
1354    2006-10-06  Douglas Bates  <bates@stat.wisc.edu>
1355    
1356            * R/d[gs]CMatrix.R: deprecate the writeHB function.  Use writeMM instead.
1357    
1358    2006-10-06  Martin Maechler  <maechler@stat.math.ethz.ch>
1359    
1360            * DESCRIPTION (Version): 0.9975-3
1361    
1362            * R/diagMatrix.R (bdiag): new function constructing block diagonal
1363            (sparse) matrices.
1364            * man/bdiag.Rd: docu + examples
1365    
1366            * R/Csparse.R (replCmat): calling new Csparse_drop() now.
1367    
1368            * src/Csparse.c (Csparse_general_to_symmetric, Csparse_drop): new functions
1369            * R/lsCMatrix.R: three more coercions to lsC (thanks to the above)
1370    
1371            * R/diagMatrix.R (Diagonal): '[<-' method for diag.matrices such
1372            that result is sparse or diagonal (and not dense).
1373    
1374            * man/Subassign-methods.Rd: fix examples
1375    
1376            * R/Matrix.R (Matrix):  Matrix(0, *) or Matrix(*, sparse=TRUE)
1377            should always return a sparse (and not sometimes a diagonal) matrix.
1378    
1379    2006-10-05  Martin Maechler  <maechler@stat.math.ethz.ch>
1380    
1381            * R/Matrix.R ([<-): also for value "Matrix" or "matrix"
1382    
1383    2006-10-04  Douglas Bates  <bates@stat.wisc.edu>
1384    
1385            * DESCRIPTION (Version): 0.9975-2
1386    
1387            * inst/include/Matrix_stubs.c (M_cholmod_sparse_to_triplet): export more symbols
1388    
1389    2006-10-02  Douglas Bates  <bates@R-project.org>
1390    
1391            * tests/dg_Matrix.R: Simplify test taking into account new code.
1392    
1393    2006-09-29  Martin Maechler  <maechler@stat.math.ethz.ch>
1394    
1395            * R/Csparse.R (replCmat): improve for missing i / j in non-simple cases
1396    
1397            * R/lsTMatrix.R: new files w/ missing methods
1398            * R/nsTMatrix.R:  "  'for completeness'
1399    
1400            * tests/Class+Meth.R: a bit less 'not.ok.classes'
1401    
1402            * R/Tsparse.R (t): generalized "t" method from "dgT*" to "Tsparse*"
1403    
1404    
1405    2006-09-28  Douglas Bates  <bates@R-project.org>
1406    
1407            * src/dppMatrix.h: Ensure definition of dspMatrix_validate is
1408            included.
1409    
1410            * src/init.c, inst/include/{Matrix.h,Matrix_stubs.h,cholmod.h}:
1411            Export C-callable functions used in Zt_create in lme4.
1412    
1413    2006-09-28  Martin Maechler  <maechler@stat.math.ethz.ch>
1414    
1415            * DESCRIPTION (Version): 0.9975-1
1416    
1417            * tests/simple.R: less checks fail; using NA, found that our
1418                    kronecker() is not base-compatible with NA's.
1419    
1420            * R/dMatrix.R: "Compare" method now implemented for all cases
1421    
1422            * R/Auxiliaries.R (indTri): == which([lower/upper].tri( * )) new utility
1423    
1424            * man/dtpMatrix-class.Rd: mention length of 'x' slot
1425    
1426            * src/dtpMatrix.c (dtpMatrix_validate): fix check
1427            * src/dspMatrix.c (dspMatrix_validate): ditto
1428    
1429            * R/dtTMatrix.R (gt2tT): fix ("l" -> "n")
1430              including coercion to [nl]tTMatrix.
1431    
1432            * R/diagMatrix.R (show): print a header line as for other classes.
1433    
1434    2006-09-27  Martin Maechler  <maechler@stat.math.ethz.ch>
1435    
1436            * src/Makefile.win (SUBDIRS): fix typo
1437    
1438    2006-09-19  Martin Maechler  <maechler@stat.math.ethz.ch>
1439    
1440            * DESCRIPTION (Date): ready to release 0.9975-0 to CRAN
1441    
1442    2006-09-18  Douglas Bates  <bates@stat.wisc.edu>
1443    
1444            * R/[CT]sparse.R (crossprod and tcrossprod): Handle the cases for x
1445            symmetric and y missing in R code using %*% (cholmod_aat doesn't
1446            accept a symmetric matrix).
1447            * tests/group-methods.R: Uncomment test of crossprod applied to
1448            lsCMatrix objects.
1449    
1450    2006-09-18  Martin Maechler  <maechler@stat.math.ethz.ch>
1451    
1452            * R/AllClass.R (symmetricMatrix): add validity method (available
1453            in C for a long time). Many "n..Matrix": drop (wrong) validity arg.
1454    
1455            * src/lgCMatrix.c (lgCMatrix_validate): check 'x' slot (!)
1456    
1457            * tests/indexing.Rout.save:
1458            * tests/indexing.R: additions, mainly for 'lsparse'
1459    
1460            * R/diagMatrix.R (Diagonal) & coercion to lgTMatrix: fixes for NA
1461            case.
1462    
1463            * R/Auxiliaries.R (nz.NA): new utility now used in nnzero()
1464    
1465    2006-09-16  Martin Maechler  <maechler@stat.math.ethz.ch>
1466    
1467            * R/sparseMatrix.R (prSpMatrix): print logical NAs "visibly"
1468                    as 'N' (1-letter - Ok?)
1469    
1470            * tests/group-methods.R: add test for logical + NAs
1471    
1472            * R/dMatrix.R ("Compare"): fix to work with NA's
1473    
1474            * R/AllClass.R: "Cholesky" etc now inherit from MatrixFactorization.
1475    
1476            * src/lgCMatrix.c (ncsc_to_matrix): renamed from lcsc_to_matrix()
1477                    which is implemented.
1478    
1479    2006-09-15  Martin Maechler  <maechler@stat.math.ethz.ch>
1480    
1481            * src/chm_common.c: coerce logical <-> double instead of
1482            typecasting;  needed for "l" matrix handling in cholmod.
1483    
1484            * tests/other-pkgs.R (graph): small extension in "graph" checks.
1485    
1486            * R/sparseMatrix.R (graphNEL -> Tsparse): method for weight case.
1487            (Tsp2grNEL): other fixes needed
1488    
1489    2006-09-11  Martin Maechler  <maechler@stat.math.ethz.ch>
1490    
1491            * R/AllClass.R ("nMatrix"): and subclasses for "nonzero pattern"
1492                    Matrices, since "lMatrix", also "lsparseM" can have NA
1493            * R/ndenseMatrix.R, etc: new source files
1494            * man/nsparseMatrix-classes.Rd, etc: new help files
1495            * tests/: adaptions
1496            * src/chm_common.c (chm_dense_to_SEXP): and others:
1497                    new 'Rkind' argument: "l*" and "d*" both use CHOLMOD_REAL
1498            * src/Csparse.c, etc: ditto
1499    
1500    2006-09-11  Douglas Bates  <bates@R-project.org>
1501    
1502            * src/Mutils.[ch],init.c inst/include/*.h: Move the
1503            alloc_d**Matrix functions to the lme4 package.
1504    
1505    2006-09-09  Douglas Bates  <bates@R-project.org>
1506    
1507            * src/dsCMatrix.c (dsCMatrix_Cholesky): igoring LDL = FALSE now
1508            fixed
1509    
1510    2006-09-09  Martin Maechler  <maechler@stat.math.ethz.ch>
1511    
1512            * R/lMatrix.R: new
1513    
1514            * R/sparseMatrix.R (Tsp2grNEL): do not yet use graph::foo()
1515    
1516            * R/dgeMatrix.R: do not define tcrossprod() methods for "matrix"
1517            * man/tcrossprod.Rd: ditto
1518    
1519    2006-09-08  Douglas Bates  <bates@stat.wisc.edu>
1520    
1521            * inst/include/Matrix_stubs.c,Matrix.h: Add declarations and stubs
1522            for exported functions
1523            * src/Makefile, src/CHOLMOD/Lib/Makefile, src/Metis,CAMD,CCOLAMD:
1524            Remove partitioning algorithms for sparse matrix reordering.  The
1525            copyright on the Metis code was problematic and the methods were
1526            rarely used.
1527            * src/triplet_to_col.[ch],MMHB.[ch]: Remove triplet_to_col.  Such
1528            operations are now done entirely in CHOLMOD code.
1529    
1530    2006-09-06  Douglas Bates  <bates@R-project.org>
1531    
1532            * src/Mutils.h: Remove functions that are no longer used.
1533    
1534    2006-09-04  Douglas Bates  <bates@R-project.org>
1535    
1536            * src/dtCMatrix.c (dtCMatrix_validate): rename functions.
1537            * src/DEPS.mkf: update
1538    
1539    2006-09-02  Martin Maechler  <maechler@stat.math.ethz.ch>
1540    
1541            * created branches/Matrix-for-R-2.3.x;  on trunk: do
1542            * DESCRIPTION (Version): 0.9975-0
1543            (Depends): R (>= 2.4.0)
1544    
1545    2006-09-01  Douglas Bates  <bates@R-project.org>
1546    
1547            * R/sparseMatrix.R: Added direct method to CsparseMatrix from graphNEL
1548    
1549    2006-09-01  Martin Maechler  <maechler@stat.math.ethz.ch>
1550    
1551            * R/sparseMatrix.R: add coercion from "ANY" to "sparseMatrix"
1552            * R/denseMatrix.R:  add coercion from "ANY" to "denseMatrix"
1553    
1554            * R/Matrix.R ([): use nargs() to disambiguate M[i] and M[i,]
1555    
1556    2006-08-31  Martin Maechler  <maechler@stat.math.ethz.ch>
1557    
1558            * R/sparseMatrix.R (Arith): moved Arith group method one-level up
1559            from "dsparse" to "sparse" and now go via "Csparse" instead of "dgC"
1560            * R/dsparseMatrix.R: ditto
1561            * R/Csparse.R: ditto
1562    
1563    2006-08-31  Martin Maechler  <maechler@stat.math.ethz.ch>
1564    
1565            * R/dMatrix.R (Compare): improve availability of "<", etc
1566            * R/Auxiliaries.R (asTuniq): new; also make use of R 2.4.x print(*,max)
1567    
1568    2006-08-30  Martin Maechler  <maechler@stat.math.ethz.ch>
1569    
1570            * R/dgCMatrix.R: aargh: "Arith(<dgC>, numeric)" was wrong because
1571            of a 0-index which was used as 1-index (..hmm)
1572    
1573            * R/sparseMatrix.R (prSpMatrix): fix printing an all-0 sparse Matrix
1574    
1575            * R/Auxiliaries.R (all0, is0): for 0-testing in presence of NA's
1576            * R/Auxiliaries.R (isTriMat): use all0() for 0-testing.
1577            (.is.diagonal): ditto
1578    
1579            * R/lgTMatrix.R: as("matrix", "lgTMatrix"): warn about NA's
1580    
1581            * R/Matrix.R (Matrix): also work for NA data
1582    
1583    2006-08-28  Martin Maechler  <maechler@stat.math.ethz.ch>
1584    
1585            * R/Matrix.R (Matrix): + 'forceCheck' argument; dimnames setting
1586            in all cases.
1587    
1588    2006-08-27  Douglas Bates  <bates@R-project.org>
1589    
1590            * src/dense.[ch],init.c, R/ddenseMatrix.R, man/band.Rd
1591            (ddense_band): Added triu, tril and band for ddenseMatrix objects.
1592    
1593    2006-08-25  Martin Maechler  <maechler@stat.math.ethz.ch>
1594    
1595            * src/Mutils.c (dup_mMatrix_as_dgeMatrix): added all subclasses of
1596            subclasses of "ddenseMatrix"
1597            * src/init.c et al: outcomment dtrM*_as_dge* and dsyM*_as_dge*_
1598            * R/ddenseMatrix.R et al: setAs("ddenseMatrix", "dgeMatrix", ..)
1599            instead of half dozen specialized ones.
1600    
1601    2006-08-25  Douglas Bates  <bates@R-project.org>
1602    
1603            * R/lmer.R (qqmath method): Bug fix provided by Emmanuel Tillard
1604            <tillard@cirad.fr> - ordering standard errors to match effects.
1605    
1606    2006-08-24  Douglas Bates  <bates@R-project.org>
1607    
1608            * src/lsCMatrix.c (lsCMatrix_trans): Remove lsCMatrix_chol based
1609            on R_ldl.
1610            * R/lCholCMatrix.R,
1611            src/[dl]CholCMatrix.[ch],R_ldl.[ch],Metis_utils.[ch]: removed
1612            * src/dsCMatrix.c (dsCMatrix_to_dgTMatrix): use CHOLMOD
1613            * many files in ./R and ./src: Use more general version of
1614            dup_mMatrix_as_dgeMatrix to simplify method definitions.
1615            * src/Mutils.c (dup_mMatrix_as_dgeMatrix): Add ddiMatrix,
1616            dtpMatrix, dspMatrix and dppMatrix conversions.
1617    
1618    
1619    2006-08-23  Douglas Bates  <bates@R-project.org>
1620    
1621            * R/AllClass.R,lCholCMatrix.R,src/SOURCES_C.mkf,init.c,NAMESPACE:
1622            Remove classes lCholCMatrix and dCholCMatrix based on R_ldl code.
1623            * src/dgeMatrix.c: Ensure 'factors' slot exists in result of
1624            dgeMatrix_crossprod (may need to do this in other places).
1625            * R/AllGeneric.R,dsCMatrix.R, src/dscMatrix.[ch]: Add Cholesky
1626            generic and method for dsCMatrix.  Use CHOLMOD for chol().
1627    
1628    2006-08-22  Douglas Bates  <bates@R-project.org>
1629    
1630            * src/Mutils.c (dup_mMatrix_as_dgeMatrix): updated for general
1631            types of classed Matrices, matrices or numeric or logical vectors.
1632            * src/init.c: register dup_mMatrix_as_dgeMatrix for coercions.
1633            * src/chm_common.c,Mutils.h (as_cholmod_factor): Move check_class
1634            to Mutils.h (as an inline) and change name to Matrix_check_class;
1635            fixes in as_cholmod_factor and chm_factor_to_SEXP.
1636            * src/dsCMatrix.[ch]: Use CHOLMOD for dsCMatrix_chol and
1637            dsCMatrix_matrix_solve.  Comment out vestigial functions.
1638            * src/Csparse.c: use diag_P and uplo_P macros.
1639    
1640    2006-08-21  Douglas Bates  <bates@R-project.org>
1641    
1642            * src/lmer.c (internal_mer_RZXinv): Fix memory leak caught by
1643            valgrind.
1644            * tests/matprod.R: Add tests to verify that 'solve' and '%*%' are
1645            inverses.
1646            * src/sparseQR.c (sparseQR_validate): add new validation test, fix
1647            -Wall warnings.
1648            * src/dppMatrix.c,dtrMatrix.c,dgCMatrix.c,dgeMatrix.c,dspMatrix.c:
1649            Use dup_mMatrix_as_dgeMatrix.
1650    
1651    2006-08-20  Douglas Bates  <bates@R-project.org>
1652    
1653            * src/sparseQR.c: Fix thinko in sparseQR_resid_fitted.
1654            * tests/sparseQR.R: Added
1655            * man/sparseQR-class.Rd: Document methods for qr.* generics
1656            * R/sparseQR.R: Return correct # of coefs; fix cut-and-paste errors
1657    
1658    2006-08-19  Douglas Bates  <bates@R-project.org>
1659    
1660            * NAMESPACE, R/sparseQR.R, src/init.c,sparseQR.[ch],SOURCES_C.mkf:
1661            Added methods for sparseQR for qr.qy, qr.qty, qr.coef, qr.resid
1662            and qr.fitted.
1663            * src/Mutils.[ch]: Added dup_mMatrix_as_dgeMatrix utility
1664            * src/dgCMatrix.c: Check for ordering before storing q in dgCMatrix_QR
1665    
1666    2006-08-18  Martin Maechler  <maechler@stat.math.ethz.ch>
1667    
1668            * R/AllGeneric.R: add "qr" and "chol" generics; via 'trick' since
1669            the base version has no "..." argument.
1670    
1671            * R/sparseMatrix.R (prSpMatrix): fix the triangular unit diagonal case.
1672    
1673            * R/Matrix.R: define and
1674            * NAMESPACE: export as.numeric() and as.logical() methods.
1675                    Let's hope these do not badly slow down something...
1676            Finally export the zapsmall() method.
1677    
1678    2006-08-17  Douglas Bates  <bates@R-project.org>
1679    
1680            * src/dgCMatrix.[ch] (dgCMatrix_matrix_solve), src/init.c,
1681            R/dgCMatrix.R: solve methods for dgCMatrix and dense RHS.
1682            * src/dtCMatrix.c :Remove code that is no longer used
1683            * R/dtCMatrix.R: Use C code for diagU2N in CsparseMatrix classes
1684    
1685    2006-08-14  Douglas Bates  <bates@R-project.org>
1686    
1687            * src/Csparse.[ch],init.c (Csparse_to_logical): Added utilities
1688            Csparse_to_logical and Csparse_symmetric_to_general.
1689            * R/dgCMatrix.R,dsCMatrix.R,Csparse.R : Consolidate general
1690            coercion methods between CsparseMatrix and TsparseMatrix.
1691    
1692    2006-08-14  Douglas Bates  <bates@R-project.org>
1693    
1694            * R/dtCMatrix.R,dgCMatrix.R,Csparse.R src/init.c,dgCMatrix.[ch],
1695            Csparse.[ch],chm_common.c,dense.c : Use CHOLMOD code and methods
1696            for CsparseMatrix, TsparseMatrix, denseMatrix or matrix when
1697            possible.
1698    
1699    2006-08-12  Douglas Bates  <bates@R-project.org>
1700    
1701            * src/chm_common.[ch],Csparse.[ch],Tsparse.[ch],CHMfactor.c,dtTMatrix.c,
1702              dgTMatrix.c,dgCMatrix.c,dsCMatrix.c,dtTMatrix.c, R/dsTMatrix.R,
1703              Tsparse.R,Csparse.R,dgTMatrix.R,dsCMatrix.R,lsCMatrix.R:
1704              generalize conversions between TsparseMatrix, CsparseMatrix,
1705              denseMatrix and matrix.  Preserve triangularity property and
1706              propagate Dimnames in the easy cases.
1707    
1708    2006-08-10  Douglas Bates  <bates@R-project.org>
1709    
1710            * src/lmer.c: adjust checks in glmer_init for S4SXP
1711            * tests/validObj.R: check of all(eq) should be all(eq@x) - worked
1712            before S4SXP but for the wrong reasons.
1713    
1714    2006-08-08  Douglas Bates  <bates@R-project.org>
1715    
1716            * src/Csparse.c (Csparse_crossprod): tcrossprod result has stype = -1.
1717            Later modified to return the upper triangle only.
1718            * R/dgTMatrix.R: Remove vestigial crossprod and tcrossprod methods.
1719    
1720    2006-08-07  Douglas Bates  <bates@R-project.org>
1721    
1722            * src/Csparse.c (Csparse_crossprod): Set stype on result to avoid
1723            R-level conversion to a sparse symmetric class.
1724            * R/Tsparse.R,R/Csparse.R (crossprod and tcrossprod methods):
1725            Remove conversion to sparse symmetric classes (now done in C code).
1726    
1727    2006-08-07  Martin Maechler  <maechler@stat.math.ethz.ch>
1728    
1729            * R/dgCMatrix.R: disable old crossprod and tcrossprod methods
1730            * man/band.Rd:  adapt the \dontshow{} unit test.
1731    
1732    2006-08-07  Martin Maechler  <maechler@stat.math.ethz.ch>
1733    
1734            * DESCRIPTION (Version): 0.995-14  for CRAN
1735    
1736            * tests/other-pkgs.R: oops: library(Matrix) outside *if* !
1737    
1738            * R/sparseMatrix.R (Tsp2grNEL): fixed Tsparse -> graph coercion
1739            * tests/other-pkgs.R:  more checks, sparseMatrix -> graph
1740    
1741            * R/Auxiliaries.R (as_Tsparse, as_Rsparse): new
1742            * R/Tsparse.R (tril, triu, band): methods
1743            * R/dgRMatrix.R (tril, ...):    ditto
1744            * man/band.Rd:                  ditto
1745    
1746    2006-08-04  Martin Maechler  <maechler@stat.math.ethz.ch>
1747    
1748            * R/Matrix.R (head, tail): directly use utils:::head.matrix
1749                    to be up-to-date automatically.
1750    
1751    2006-08-03  Martin Maechler  <maechler@stat.math.ethz.ch>
1752    
1753            * DESCRIPTION (Version): 0.995-13 to be released to CRAN
1754    
1755            * DESCRIPTION (Lazydata): no, instead of 'yes' because it fails for:
1756            * data/CAex.R, inst/external/CAex_slots.rda: replacing data/CAex.rda
1757            * data/KNex.R, inst/external/KNex_slots.rda: replacing data/KNex.rda
1758            such that the S4 objects are always created by the current version
1759            of R and 'Matrix' class definitions.
1760    
1761    2006-08-01  Douglas Bates  <bates@R-project.org>
1762    
1763            * R/lmer.R (LMEoptimize method), tests/lmer.R,
1764            inst/external/test3comp.rda: Added warnings for convergence on
1765            boundary and test cases.
1766    
1767            * src/lmer.c (mer_postVar): Modified to return the variances that
1768            are marginal to the fixed effects, not conditional on them (which
1769            is what the bVar slot contents represent).
1770    
1771    2006-07-31  Douglas Bates  <bates@R-project.org>
1772    
1773            * NAMESPACE, src/lmer.c, R/lmer.R (hatTrace):  Add the hatTrace
1774            function which calls the C function mer_hat_trace2.
1775    
1776            * man/ranef.Rd: Include description of "postVar" argument and
1777            producing a caterpillar plot.
1778    
1779    2006-07-31  Martin Maechler  <maechler@stat.math.ethz.ch>
1780    
1781            * NAMESPACE:    change  "correlation" to "corMatrix"
1782            * R/AllClass.R: to avoid clash with S3 class in 'nlme'.
1783            * R/dpoMatrix.R: ditto
1784            * R/lmer.R:      ditto
1785    
1786    2006-07-28  Douglas Bates  <bates@R-project.org>
1787    
1788            * src/lmer.c (internal_mer_RZXinv): Split the calculation of the
1789            RZXinv slot's contents into a separate internal function that can
1790            be used in mer_hat_trace.
1791    
1792    2006-07-22  Martin Maechler  <maechler@stat.math.ethz.ch>
1793    
1794            * R/Matrix.R: Coercions "Matrix" -> (sparse|dense)Matrix
1795            via new smart
1796            * R/Auxiliaries.R (as_Csparse, as_dense, .M.shapse): new
1797            utility functions.
1798    
1799    
1800    2006-07-21  Martin Maechler  <maechler@stat.math.ethz.ch>
1801    
1802            * R/Csparse.R (tril, triu, band): do return *triangular* classed
1803            matrices when appropriate; band() even symmetric ones.
1804            (replCmat): extend to potentially all "CsparseMatrix"
1805            * R/Tsparse.R (replTmat): extend to all "TsparseMatrix"; hence
1806            allow subassignment for special sparse matrices.
1807    
1808            * R/Auxiliaries.R (as_geClass): factor out the  .M.kind() functionality
1809    
1810            * src/lmer.c (mer_MCMCsamp, glmer_MCMCsamp): new 'verbose'
1811            argument; in glmer_*(): print only if(verbose).
1812    
1813            speed-optimize a few places by moving REAL(.) out of loops.
1814    
1815            * src/lmer.h, src/init.h, R/lmer.R:  related to above.
1816    
1817    2006-07-20  Martin Maechler  <maechler@stat.math.ethz.ch>
1818    
1819            * R/Matrix.R("["): disable ("Matrix", i = "logical", j = "missing"),
1820                    since that wrongly triggers also for M[ logi , ]
1821    
1822            * R/denseMatrix.R: "[" methods now also work e.g. when indexing
1823            a symmetric matrix that results in a non-symmetric one.
1824            * R/Auxiliaries.R (as_geClass): new function used in "[" above.
1825    
1826            * R/dMatrix.R: make round(M) work as round(M, 0)
1827    
1828            * R/dgTMatrix.R (image): coordinate system and axis now use
1829            1-based indices, not 0-based ones.
1830    
1831            * R/Tsparse.R (.ind.prep for "["): get rid of max(<empty>) warning.
1832            * tests/indexing.R: test it.
1833    
1834            * NAMESPACE: export isSymmetric(); has been a generic in "base" for a while;
1835            * man/isSymmetric-methods.Rd: and document it.
1836    
1837            * R/SparseM-conv.R: added coercion methods for some 'SparseM' matrices.
1838            * man/SparseM-conv.Rd: docu them
1839    
1840            * tests/other-pkgs.R: renamed from tests/graph.R and add example
1841                    for 'SparseM' conversions
1842    
1843    2006-07-17  Douglas Bates  <Douglas.Bates@R-project.org>
1844    
1845            * R/Matrix.R (head): added head() and tail() methods.
1846    
1847    2006-07-17  Martin Maechler  <maechler@stat.math.ethz.ch>
1848    
1849            * DESCRIPTION (Version): 0.995-12 released to CRAN
1850    
1851    2006-07-15  Martin Maechler  <maechler@stat.math.ethz.ch>
1852    
1853            * tests/simple.R: add check for correct dsT -> dgT coercion;
1854                    add check for correct printing of symmetric sparse matrices.
1855    
1856            * R/Auxiliaries.R (non0ind): return *all* non-0 entry indices also
1857            for sparse symmetric matrices.
1858    
1859            * src/dsTMatrix.c (dsTMatrix_as_dgTMatrix): do not copy the
1860            diagonal twice.
1861    
1862    2006-07-11  Douglas Bates  <Douglas.Bates@R-project.org>
1863    
1864            * src/dsTMatrix.c (dsTMatrix_as_dgTMatrix): Fix a case of INTEGER
1865            being applied to the x slot (detected by Brian Ripley).
1866    
1867    2006-07-10  Martin Maechler  <maechler@stat.math.ethz.ch>
1868    
1869            * src/dgCMatrix.c (dgCMatrix_validate): 'p' slot must have correct length.
1870    
1871            * R/Auxiliaries.R (isTriC): fix buglet (we were 1-based!)
1872    
1873    2006-07-08  Martin Maechler  <maechler@stat.math.ethz.ch>
1874    
1875            * src/lgCMatrix.c (lgCMatrix_diag): new function
1876            * R/lgCMatrix.R (diag): for new method
1877    
1878            * R/AllClass.R (TsparseMatrix): do use Tsparse_validate
1879                 ==> construction of illegal "*gTMatrix" via new() should
1880                 now be much less easy:
1881            * tests/Class+Meth.R: assertError() for some illegal "dgT*"
1882    
1883            * R/Matrix.R (Matrix): Matrix(0, nrow,ncol) now "goes sparse"
1884                    directly.
1885            * man/Matrix.Rd: documents it.
1886    
1887  2006-07-06  Douglas Bates  <bates@R-project.org>  2006-07-06  Douglas Bates  <bates@R-project.org>
1888    
1889          * src/pedigree.c (pedigree_inbreeding): Correction in          * src/pedigree.c (pedigree_inbreeding): Correction in
# Line 9  Line 1895 
1895          objects.  Modified validity check on pedigree objects to account          objects.  Modified validity check on pedigree objects to account
1896          for nonparallel patterns of missingness of parents.          for nonparallel patterns of missingness of parents.
1897    
1898            * man/{lmer-class.Rd,mcmcsamp.Rd}: Update documentation for glmer
1899            class.
1900    
1901    2006-07-01  Martin Maechler  <maechler@stat.math.ethz.ch>
1902    
1903            * R/pMatrix.R: coercion pMatrix -> Tsparse
1904    
1905  2006-06-12  Douglas Bates  <bates@R-project.org>  2006-06-12  Douglas Bates  <bates@R-project.org>
1906    
1907            * DESCRIPTION (Version): 0.995-11 released to CRAN
1908    
1909          * R/lmer.R (mcmcsamp method): Corrected arrangments of names on          * R/lmer.R (mcmcsamp method): Corrected arrangments of names on
1910          the output from mcmcsamp.          the output from mcmcsamp.
1911    
# Line 23  Line 1918 
1918    
1919          * R/diagMatrix.R (setAs): define coercion methods to sparse matrix          * R/diagMatrix.R (setAs): define coercion methods to sparse matrix
1920          classes.          classes.
1921            * R/sparseMatrix.R etc: multiplication of diagonal and sparse
1922    
1923  2006-06-08  Martin Maechler  <maechler@stat.math.ethz.ch>  2006-06-08  Martin Maechler  <maechler@stat.math.ethz.ch>
1924    
# Line 60  Line 1956 
1956    
1957          * R/sparseMatrix.R: Matrix <-> graph methods: can no longer use          * R/sparseMatrix.R: Matrix <-> graph methods: can no longer use
1958          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.
1959          * src/dgTMatrix.c: dito (also: src/init.c src/dgTMatrix.h)          * src/dgTMatrix.c: ditto (also: src/init.c src/dgTMatrix.h)
1960    
1961    
1962  2006-05-17  Douglas Bates  <bates@stat.wisc.edu>  2006-05-17  Douglas Bates  <bates@stat.wisc.edu>
# Line 183  Line 2079 
2079          * 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)
2080          * man/KNex.Rd: and other help files          * man/KNex.Rd: and other help files
2081          * tests/*.R: several ones needed adaption          * tests/*.R: several ones needed adaption
2082          * inst/doc/Comparisons.Rnw: dito          * inst/doc/Comparisons.Rnw: ditto
2083    
2084  2006-03-11  Martin Maechler  <maechler@stat.math.ethz.ch>  2006-03-11  Martin Maechler  <maechler@stat.math.ethz.ch>
2085    
# Line 387  Line 2283 
2283  2005-08-26  Martin Maechler  <maechler@stat.math.ethz.ch>  2005-08-26  Martin Maechler  <maechler@stat.math.ethz.ch>
2284    
2285          * R/Matrix.R:  added first "[<-" methods; not yet functional          * R/Matrix.R:  added first "[<-" methods; not yet functional
2286          * R/denseMatrix.R: dito          * R/denseMatrix.R: ditto
2287          * man/Subassign-methods.Rd: new help file for these          * man/Subassign-methods.Rd: new help file for these
2288    
2289  2005-08-25  Martin Maechler  <maechler@stat.math.ethz.ch>  2005-08-25  Martin Maechler  <maechler@stat.math.ethz.ch>

Legend:
Removed from v.1312  
changed lines
  Added in v.2166

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