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

Legend:
Removed from v.1271  
changed lines
  Added in v.2158

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