SCM

SCM Repository

[matrix] Diff of /pkg/ChangeLog
ViewVC logotype

Diff of /pkg/ChangeLog

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

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

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

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