SCM

SCM Repository

[matrix] Diff of /pkg/ChangeLog
ViewVC logotype

Diff of /pkg/ChangeLog

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

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

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

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