SCM

SCM Repository

[matrix] Diff of /pkg/ChangeLog
ViewVC logotype

Diff of /pkg/ChangeLog

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

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

Legend:
Removed from v.1298  
changed lines
  Added in v.2113

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