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

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