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

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