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 388, Mon Dec 13 16:00:22 2004 UTC revision 2188, Mon Apr 28 13:42:12 2008 UTC
# Line 1  Line 1 
1  2004-12-13  Douglas Bates  <bates@bates1-home>  2008-04-28  Martin Maechler  <maechler@stat.math.ethz.ch>
2    
3            * inst/test-tools.R (checkMatrix): add fixed determinant.matrix()
4            for R < 2.7.0.
5    
6            * R/Tsparse.R ([): for triangularMatrix, check if result may be
7            triangular.
8            * tests/indexing.R: regression test
9    
10    2008-04-26  Martin Maechler  <maechler@stat.math.ethz.ch>
11    
12            * inst/test-tools.R (checkMatrix): test <Ops> not only for dMatrix
13            * R/Ops.R: more methods, for lMatrix/nMatrix
14    
15    2008-04-24  Martin Maechler  <maechler@stat.math.ethz.ch>
16    
17            * R/expm.R: new file for all expm() methods; notably new ones for
18            diagonal*, triangular*, symmetric* and also simple "matrix".
19    
20    2008-04-23  Martin Maechler  <maechler@stat.math.ethz.ch>
21    
22            * R/dsyMatrix.R: setAs(.) rather than setIs(.)  "to dpoMatrix"
23    
24            * inst/test-tools.R (assert.EQ.mat): better message when not equal
25    
26            * src/dgeMatrix.c (dgeMatrix_matrix_crossprod): allow integer RHS.
27    
28            * R/AllClass.R (ddiMatrix,ldiMatrix): extend [dl]Matrix instead of
29            [dl]denseMatrix {identical slots; but more logical method dispatch}
30    
31    2008-04-23  Martin Maechler  <maechler@stat.math.ethz.ch>
32    
33            * R/sparseMatrix.R (summary): use length(<i-slot>) instead of nnzero()
34    
35            * R/diagMatrix.R (determinant): method
36    
37    2008-04-22  Martin Maechler  <maechler@stat.math.ethz.ch>
38    
39            * src/dsCMatrix.c (dsCMatrix_Cholesky): suppress CHOLMOD printing too
40    
41            * R/Rsparse.R (.viaC.to.R): uplo fix for symmetric & triangular
42    
43            * R/dsCMatrix.R (determinant): switch to use Cholesky( 'LDL' ) and
44            its diagonal
45    
46    2008-04-21  Martin Maechler  <maechler@stat.math.ethz.ch>
47    
48            * R/dMatrix.R (Summary): short-cut for prod(<sparse>)
49    
50            * R/not.R: fix !<"U"-diag-ltrMatrix> ; drop {R < 2.6.0}-branch
51    
52            * R/Auxiliaries.R (tT2gT): fix for "U"-diag-ltTMatrix
53    
54            * R/AllClass.R: ltTMatrix validity: call (more stringent) tTMatrix_validate
55    
56    2008-04-19  Martin Maechler  <maechler@stat.math.ethz.ch>
57    
58            * R/Ops.R (Ops.x.x): aux.function, not just for (dMatrix,dMatrix)
59    
60            * R/Ops.R (.do.Logic.lsparse): fix NA case
61    
62            * R/Tsparse.R (replTmat): fix r.sym case, using indTri()
63    
64            * R/Auxiliaries.R (nnzero): fix special cases, using
65            * R/Auxiliaries.R (indDiag): new utility
66            * R/Auxiliaries.R (indTri): new argument 'diag'
67    
68            * R/dMatrix.R: Summmary(<ddenseMatrix>): different branch for dsy*
69    
70    2008-04-18  Martin Maechler  <maechler@stat.math.ethz.ch>
71    
72            * R/diagMatrix.R: "Summary" methods, and more "Arith" / "Ops"
73    
74            * src/Csparse.c (Csparse_drop): preserve (uplo,diag) for
75            ".tCMatrix" triangular matrix.
76    
77            * R/Auxiliaries.R (drop0): use diagU2N(); according to helpfile,
78            'clx' can be class *or* class representation.
79            (nnzSparse): new.
80            (non0ind): new 'xtendSymm' argument; used in
81            * R/Ops.R:
82    
83            * R/pMatrix.R: more efficient determinant() method
84    
85    2008-04-17  Martin Maechler  <maechler@stat.math.ethz.ch>
86    
87            * [disactivated] R/Matrix.R (det): det() as base::det(), but with Matrix environment
88            * [disactivated] NAMESPACE: export(det)
89    
90            * R/diagMatrix.R (mkDiag): new substitute for diag()
91    
92            * R/Auxiliaries.R (nnzero): fix for "diagU2N"-case
93            (as0, as1): new utility.
94    
95            * R/Csparse.R (diag, band): need diagU2N()
96    
97            * src/dgeMatrix.c (get_norm): return NA when 'x' slot has NA/NaN.
98    
99            * R/lMatrix.R: coerce(nMatrix |-> lMatrix) fix
100    
101            * R/Ops.R (Compare): fix <nsp> o <nsp> case
102    
103            * R/nsparseMatrix.R, R/pMatrix.R: is.na() method
104    
105    2008-04-16  Martin Maechler  <maechler@stat.math.ethz.ch>
106    
107            * R/Auxiliaries.R (signPerm): new utility for
108            * R/Auxiliaries.R (detSparseLU): determinant() via sparseLU
109    
110            * src/dsCMatrix.c (dsCMatrix_LDL_D): suppress 'CHOLMOD warning';
111            since we have our own error handler (and can use tryCatch() from R).
112    
113    2008-04-15  Martin Maechler  <maechler@stat.math.ethz.ch>
114    
115            * R/dgTMatrix.R (image): ha! set col=NA if lwd is small -- very nice!
116    
117            * R/dsCMatrix.R (determinant): use tryCatch() and switch to lu()
118            when not positive definite.
119    
120            * R/Auxiliaries.R (asTri): new auxiliary
121            (non0.i): make *much* faster for Tsparse with many non-zero
122            entries; add 'uniqT = TRUE' argument to be used when sorting is undesired.
123    
124            * tests/Class+Meth.R (dotestMat): now build on checkMatrix() from
125            test-tools.R , see below
126    
127            * R/dMatrix.R: fix "Summary" method: + diagU2N()
128    
129            * NAMESPACE, R/Matrix.R: add mean() method
130    
131    2008-04-12  Martin Maechler  <maechler@stat.math.ethz.ch>
132    
133            * R/dgTMatrix.R (image): allow to *not* take abs(), and use
134            cold-hot colors; try *changed* default useAbs = FALSE
135            * man/image-methods.Rd:  nice examples
136    
137    2008-04-11  Martin Maechler  <maechler@stat.math.ethz.ch>
138    
139            * inst/test-tools.R (checkMatrix): new function for modularizing part
140            of tstMatrixClass() in tests/Class+Meth.R
141    
142            * R/dsCMatrix.R: coercion from "matrix"
143            * R/ltTMatrix.R, R/ntTMatrix.R: ditto (change it).
144    
145            * tests/Class+Meth.R (tstMatrixClass): some cleanup;
146            add test for as(matrix(,0,0), <class>)
147    
148    2008-04-09  Martin Maechler  <maechler@stat.math.ethz.ch>
149    
150            * src/dgeMatrix.c (dgeMatrix_determinant): for n == 0,
151            work as determinant(matrix(,0,0)).
152    
153            * src/dgCMatrix.c (dgCMatrix_LU): return {L,U} as dtCMatrix
154            * man/sparseLU-class.Rd: ditto
155    
156            * R/dgCMatrix.R (determinant): method building on lu()
157            * R/sparseMatrix.R, Matrix.R, ...: ditto
158    
159            * R/Auxiliaries.R (mkDet): auxiliary for determinant()
160    
161    2008-04-07  Martin Maechler  <maechler@stat.math.ethz.ch>
162    
163            * R/sparseMatrix.R (summary<sparseMatrix>): no 'x' column for
164            pattern matrices.
165    
166    2008-04-02  Martin Maechler  <maechler@stat.math.ethz.ch>
167    
168            * src/dense.c (dense_to_Csparse): all declarations *before*
169            R_CheckStack(); needed e.g. for ancient gcc 2.96.
170    
171    
172    2008-03-29  Martin Maechler  <maechler@stat.math.ethz.ch>
173    
174            * DESCRIPTION (Version): 0.999375-9 --- need to release
175            for R-devel (and R 2.7.0 alpha soon).
176    
177            * R/AllClass.R: drop "double" from "atomicVector" class union
178    
179            * R/AllGeneric.R (rcond): check for base::rcond instead of R version
180            * R/dgeMatrix.R: ditto
181    
182            * R/sparseMatrix.R (summary): count NAs
183    
184            * inst/doc/Intro2Matrix.Rnw: changes, aim for *one* introduction.
185    
186    2008-03-28  Martin Maechler  <maechler@stat.math.ethz.ch>
187    
188            * R/AllGeneric.R: rcond(., norm) instead of rcond(., type), in
189            order to become compatible to new R 2.7.0 base::rcond().
190    
191    2008-03-25  Martin Maechler  <maechler@stat.math.ethz.ch>
192    
193            * DESCRIPTION (Version,Date): 0.999375-8 --- released to CRAN
194    
195            * R/diagMatrix.R (Ops): fix newly introduce bug in <.di> o <numeric>
196    
197            * inst/test-tools.R (isValid): new utility, used much in
198            * tests/simple.R:
199    
200            * man/BunchKaufman-methods.Rd: added too
201    
202    2008-03-24  Martin Maechler  <maechler@stat.math.ethz.ch>
203    
204            * R/dsyMatrix.R: add BunchKaufman() methods.
205            * R/dspMatrix.R:
206    
207            * src/init.c: add dsyMatrix_trf
208    
209    2008-03-23  Douglas Bates <bates@stat.wisc.edu>
210    
211            * DESCRIPTION (Version): release 0.999375-7
212            * src/CHMfactor.c (CHMfactor_update): fix
213    
214    2008-03-22  Martin Maechler  <maechler@stat.math.ethz.ch>
215    
216            * src/dsCMatrix.c (dsCMatrix_LDL_D): cleanup, also using
217            internal_chm_factor().
218    
219            * R/AllGeneric.R: do *not* define a "chol" generic
220                    (but rather use the implicit one *without* making pivot
221                    part of the signature)
222            * R/*.R: drop the 'pivot' from chol's signature and make
223                    'pivot=FALSE' a default argument of method definitions.
224    
225            * .Rbuildignore: add 'wrld_1deg': I.e. do not put it into released
226            version of Matrix
227    
228    2008-03-18  Martin Maechler  <maechler@stat.math.ethz.ch>
229    
230            * R/Tsparse.R (.T.2.n): drop 0's before coercion to "nMatrix"
231    
232            * R/sparseMatrix.R (is.na): new simple method
233            * R/denseMatrix.R (is.na): ditto.
234    
235            * R/diagMatrix.R (.symDiagonal): newly exported utility.
236    
237            * R/diagMatrix.R (Ops): <diag> * <numeric> should not become dgeMatrix!
238    
239            * src/UFsparse_download.sh: -->
240            * src/CHOLMOD/: update to CHOLMOD version 1.6 (Nov.2007)
241    
242    2008-03-17  Martin Maechler  <maechler@stat.math.ethz.ch>
243    
244            * src/dsCMatrix.c (dsCMatrix_LDL_D): even faster utility with same
245            functionality; barely tested in
246            * tests/factorizing.R
247    
248            * src/Csparse.c (diag_tC): new functionality to enable faster
249            determinant(<dsCMatrix>, .) in
250            * R/dsCMatrix.R
251    
252    2008-03-17 18:53  Douglas Bates <bates@stat.wisc.edu>
253    
254            * R/CHMfactor.R, inst/include/Matrix.h, inst/include/Matrix_stubs.c,
255              src/CHMfactor.c, src/CHMfactor.h,
256              man/CHMfactor-class.Rd, src/init.c, tests/factorizing.R:
257              Log-determinant of the parent matrix from a CHMfactor object as
258              chm_factor_ldetL2; documentation and support
259    
260    2008-03-15  Martin Maechler  <maechler@stat.math.ethz.ch>
261    
262            * R/dsCMatrix.R: enable determinant(<dsCMatrix>, .) via chol(.)
263    
264    2008-03-14  Martin Maechler  <maechler@stat.math.ethz.ch>
265    
266            * R/dsCMatrix.R: setAs(., "dsCMatrix") but with a deprecation
267            warning.
268    
269    2008-03-13  Martin Maechler  <maechler@stat.math.ethz.ch>
270    
271            * DESCRIPTION (Version, Date): bug-fix release 0.999375-6
272    
273            * R/diagMatrix.R (diag2tT.u): utility to be smarter in
274              <diagonal> o <sparse_triangular>
275              setAs(., "nMatrix") added.
276    
277            * R/diagMatrix.R (Diagonal): Diagonal(4, x=3) now works too
278    
279            * R/Auxiliaries.R (.diagU2N): more careful coercion in 2 steps
280                    new argument 'checkDense = FALSE'.
281    
282    
283    2008-03-07  Martin Maechler  <maechler@stat.math.ethz.ch>
284    
285            * src/dgeMatrix.c (dgeMatrix_exp): fix the octave-origin bug in the
286            back-permutation of the matrix exponential.
287    
288            * tests/matr-exp.R: test the fix (for an example where expm() was wrong).
289    
290            * DESCRIPTION (Date,Version): ready to release 0.999375-5
291    
292            * tests/simple.R: testing diagN2U
293    
294    2008-03-06  Martin Maechler  <maechler@stat.math.ethz.ch>
295    
296            * R/Auxiliaries.R (diagN2U): interface to
297    
298            * src/Csparse.c (Csparse_diagN2U): .Call()able SEXP version of chm_diagN2U()
299    
300            * tests/matprod.R: test for triangularity preserving <dtC> %*% <dtC>
301    
302    2008-03-05  Martin Maechler  <maechler@stat.math.ethz.ch>
303    
304            * src/chm_common.c (chm_diagN2U): new utility.
305    
306            * src/Csparse.c (Csparse_Csparse_crossprod, Csparse_Csparse_prod):
307            make use of chm_diagN2U() and hence now preserve triangularity and
308            unit-triangularity.
309    
310            * DESCRIPTION (LicenseDetails): new; such that 'License:' becomes "canonical"
311    
312    2008-03-04  Martin Maechler  <maechler@stat.math.ethz.ch>
313    
314            * R/diagMatrix.R (subDiag): fix when x[..] became a vector
315    
316            * src/Tsparse.c (Tsparse_diagU2N): new utility, necessary for e.g.
317            * src/Csparse.c (Csparse_crossprod): use [CT]sparse_diagU2N() !!
318    
319            * R/Auxiliaries.R (.diagU2N): make use of new Tsparse_diagU2N
320    
321            * R/Ops.R ("-" (<sparseMatrix>)): use diagU2N()
322    
323            * src/chm_common.c (AS_CHM_FINISH): add note about problem
324            for triangular (diag = "U").
325    
326    2008-02-21  Martin Maechler  <maechler@stat.math.ethz.ch>
327    
328            * R/Auxiliaries.R (as_Csparse2): drop this, replacing by
329            * R/bind.R:  .Call(dense_to_Csparse, *)
330    
331    2008-02-20  Martin Maechler  <maechler@stat.math.ethz.ch>
332    
333            * R/Matrix.R (Matrix): no longer use coercions to specific classes
334                    (since we are discouraging them in user code).
335    
336            * tests/*.R: also replaces coercions to specific classes by
337            coercions to super classes.
338    
339            * R/denseMatrix.R (.dense2C): simplified by using forceSymmetric()
340    
341    
342    2008-02-19  Martin Maechler  <maechler@stat.math.ethz.ch>
343    
344            * man/CAex.Rd: example: coerce to symmetric*, not dsC*
345    
346            * src/dense.c (dense_band): generalized from ddense_band
347    
348            * R/ddenseMatrix.R (.trilDense,.triuDense, .bandDense):
349              now for "denseMatrix" (instead of just "ddense*"); much
350              simplified setMethod()s for these.
351    
352            * src/dense.c (dense_to_symmetric): generalized from ddense_*
353    
354    2008-02-18  Martin Maechler  <maechler@stat.math.ethz.ch>
355    
356            * R/AllGeneric.R: forceSymmetric() generic: fast no-checking
357            version of as(*, "symmetricMatric").
358    
359            * src/dense.c (ddense_to_symmetric): add 'symm_test' argument, and
360            * R/symmetricMatrix.R: set it TRUE in coercion to "symmetricMatrix"
361    
362    2008-02-16  Martin Maechler  <maechler@stat.math.ethz.ch>
363    
364            * R/Matrix.R (subset.ij): utility, as first step to faster
365               M [ <ij-matrix> ] indexing.
366    
367            * R/Matrix.R (.M.sub.i.logical): M[ <logical> ] : try better.
368    
369            * src/dense.c (ddense_symmpart, ddense_skewpart): new functions
370            for more efficient symmpart() and skewpart() methods.
371    
372            * src/Mutils.c (equal_string_vectors): utility
373    
374            * src/dense.c (ddense_to_symmetric): new function used in
375    
376            * R/symmetricMatrix.R: setAs(., "symmetricMatrix")
377    
378            * R/sparseMatrix.R, et_al (isSymmetric): add '...' to formals, in
379            order to match the generic (and evade .local(..)).
380    
381            * R/dsCMatrix.R: dgC -> dsC: use C code!
382    
383            * NAMESPACE, R/AllGeneric.R (symmpart, skewpart): new functions
384            as per TODO
385    
386            * R/Auxiliaries.R (setZero, all0Matrix): new utilities
387    
388            * R/symmetricMatrix.R: obvious symmpart(), skewpart() methods
389    
390    
391    2008-02-15  Martin Maechler  <maechler@stat.math.ethz.ch>
392    
393            * R/Ops.R (.Arith.Csparse): use diagU2N when needed in triangular
394    
395            * R/Auxiliaries.R (non0.i): take out of non0ind
396    
397            * R/ddenseMatrix.R (.trilDense, .triuDense, .bandDense):
398            make tril(), triu(), band() work for "matrix" and all "dense*"
399    
400            * R/triangularMatrix.R (.tri[lu].tr): need .diagU2N(*)
401            * tests/simple.R: test the fix above
402    
403            * R/sparseMatrix.R ([): simplification: no coerce to <general>
404                    before we use as(., <Tsparse>)[...] anyway
405    
406            * R/Rsparse.R (.viaC.to.R): mostly instead of .viaC.to.dgR()
407    
408            * R/triangularMatrix.R (isTriangular): methods for all subclasses
409            instead of "triangularMatrix" -- just to disambiguate
410    
411    2008-02-14  Martin Maechler  <maechler@stat.math.ethz.ch>
412    
413            * tests/Class+Meth.R (dotestMat): add m[FALSE, FALSE] { <-> TODO}
414            * tests/indexing.R: example that fails above
415    
416    2008-01-26  Martin Maechler  <maechler@stat.math.ethz.ch>
417    
418            * R/Matrix.R (.M.sub.i.2col): fix for logical matrix indexing
419            * R/Tsparse.R (.TM.sub.i.2col, .TM.repl.i.2col): ditto;
420                    now, M[lower.tri(M)] and  M[lower.tri(M)] <- v  work better
421    
422            * src/Tsparse.c (Tsparse_to_tCsparse): new fast utility.
423            * src/Tsparse.h, init.c: ditto
424            * R/Auxiliaries.R (isTriT): new; faster than going via Csparse
425                 both isTriC() and isTriT() now return TRUE with "kind" or FALSE.
426            * R/sparseMatrix.R (isTriangular): hence simplified
427    
428    2008-01-24  Martin Maechler  <maechler@stat.math.ethz.ch>
429    
430            * R/Ops.R (.Arith.Csparse): new utility factored out of former
431              <dgC> o <dgC>, extended for triangular and also used in  <dtC> o <dtC>.
432    
433    2008-01-23  Martin Maechler  <maechler@stat.math.ethz.ch>
434    
435            * tests/factorizing.R (checkSchur): and more tests for checking Schur()
436    
437            * inst/test-tools.R (isOrthogonal): new function; also file restructured
438    
439    2008-01-22  Martin Maechler  <maechler@stat.math.ethz.ch>
440    
441            * R/ngTMatrix.R: allow as(<numeric matrix>, "ngTMatrix") and hence
442            coercion to "nMatrix" and "pMatrix"
443    
444            * R/AllClass.R: "Schur" class;  "number" class union
445            * man/number-class.Rd:
446            * man/Schur-class.Rd:
447    
448            * R/eigen.R (.dgeSchur): utility, and return "Schur" class
449            (.simpleSchur): Schur() method for diagonal matrices
450            (.triSchur):    Schur() method for triangular matrices
451            (Schur.sym):    Schur() for symmetric matrices {building on eigen()}.
452    
453    
454    2008-01-21  Martin Maechler  <maechler@stat.math.ethz.ch>
455    
456            * src/dgCMatrix.c (dgCMatrix_QR): set @Dim slot (as per doc)
457    
458    2008-01-15  Martin Maechler  <maechler@stat.math.ethz.ch>
459    
460            * R/CHMfactor.R (solve): method for b="numeric", but also b="ANY"
461                    in order to ensure 'system = *' is not lost;
462                    formals()$system instead of cut&paste.
463            * tests/factorizing.R: test solve(<CHM..>, <numeric>)
464    
465    2008-01-11  Martin Maechler  <maechler@stat.math.ethz.ch>
466    
467            * DESCRIPTION (Date): make ready for release --> 0.999375-4
468    
469            * R/dgeMatrix.R: fix rcond() method for "dgeMatrix".
470    
471    2007-12-08  Martin Maechler  <maechler@stat.math.ethz.ch>
472    
473            * R/pMatrix.R: as(*, "matrix") now returns 0/1 *integer* matrix,
474                    and hence does as.vector(.).
475            * man/pMatrix-class.Rd: docs
476            * R/sparseMatrix.R: fix for printing "integer sparse"
477    
478            * tests/Class+Meth.R (tstMatrixClass): test M[FALSE], M[2] etc
479    
480            * R/Matrix.R and others: use "exact" function argument list for
481                    both "["   : (x, i,j, ..., drop)
482                    and  "[<-" : (x, i,j, ..., value)
483    
484            * R/denseMatrix.R: M[i] and M[i] <- v  (i vector) now work
485            * R/Tsparse.R (replTmat):    ditto
486            * R/diagMatrix.R (replDiag): ditto
487            * R/Csparse.R (replCmat):    ditto {was it worth the pain?}
488            * tests/indexing.R: testing the above
489    
490    2007-12-07  Martin Maechler  <maechler@stat.math.ethz.ch>
491    
492            * R/sparseMatrix.R (cov2cor): method for sparse matrices
493    
494            * R/diagMatrix.R ([<-): fix   D[ cbind(i,j) ] <- v
495    
496            * R/bind2.R: fix for Rsparse* and rbind2(dense,dense)
497    
498            * tests/Class+Meth.R: test cbind2, rbind2  and  diag<-
499    
500    2007-12-06  Martin Maechler  <maechler@stat.math.ethz.ch>
501    
502            * R/Matrix.R: "generic" cov2cor() method
503    
504            * R/nearPD.R: new 'only.values', 'keepDiag' arguments;
505                    speed up Q %*% D %*% t(Q)
506            * tests/dpoMatrix.R: test nearPD()
507    
508    2007-12-05  Doug Bates and Martin Maechler
509    
510            * R/sparseMatrix.R: xtabs(*, sparse=.) function; an extention of
511            stats::xtabs() allowing to create sparse matrices.
512    
513    2007-10-08  Martin Maechler  <maechler@stat.math.ethz.ch>
514    
515            * DESCRIPTION (Version): *-4 (released *-3 two days ago)
516    
517    2007-10-06  Martin Maechler  <maechler@stat.math.ethz.ch>
518    
519            * R/pMatrix.R: solve(<Matrix>, <pMatrix>)
520    
521    2007-10-05  Martin Maechler  <maechler@stat.math.ethz.ch>
522    
523            * R/LU.R: solve() method for "denseLU"
524    
525    2007-10-01  Martin Maechler  <maechler@stat.math.ethz.ch>
526    
527            * DESCRIPTION (Version): 0.999375-3 preparing for release
528    
529            * R/AllGeneric.R: simplify  if(.) .. else .. for R <= 2.5.1
530    
531            * R/Matrix.R (Matrix): .Internal(matrix(..)) different for R >= 2.7.0
532    
533    2007-09-26  Martin Maechler  <maechler@stat.math.ethz.ch>
534    
535            * R/pMatrix.R (.m.mult.pMat): fix <matrix> %*% <pMatrix>,
536              thanks to Kasper Kristensen.
537            * tests/matprod.R: regression test for that.
538    
539    2007-09-23 17:32  Douglas Bates <bates@stat.wisc.edu>
540    
541            * [r4778] R/AllGeneric.R: Check R version before defining generics for
542              primitives
543    
544    2007-09-13  Martin Maechler  <maechler@stat.math.ethz.ch>
545    
546            * R/denseMatrix.R (rcond): method
547            * R/sparseQR.R (rcond): method, use x or t(x)
548    
549    2007-09-12  Martin Maechler  <maechler@stat.math.ethz.ch>
550    
551            * R/dgeMatrix.R (rcond): method: work via qr.R() for non-square
552            matrices.
553            * R/sparseMatrix.R: Ditto for all other rcond() method definitions.
554    
555            * man/rcond.Rd: mention the more general definition, and add
556            example for non-square matrices.
557    
558            * man/chol.Rd: new file, for the S4 chol() generic and all methods.
559    
560    2007-09-11  Martin Maechler  <maechler@stat.math.ethz.ch>
561    
562            * R/sparseQR.R: add qr.R() method [to be used for rcond()]
563    
564    2007-09-01  Martin Maechler  <maechler@stat.math.ethz.ch>
565    
566            * R/Matrix.R ([<-): add (Matrix,missing,ANY,Matrix) etc
567            * tests/indexing.R: add new regression for the above cases.
568    
569    2007-08-30  Martin Maechler  <maechler@stat.math.ethz.ch>
570    
571            * src/Mutils.h (__sun): clause for alloca.h on Solaris
572    
573    2007-08-16  Martin Maechler  <maechler@stat.math.ethz.ch>
574    
575            * DESCRIPTION (Date, Version): 0.999375-2
576    
577    2007-08-15  Martin Maechler  <maechler@stat.math.ethz.ch>
578    
579            * R/HBMM.R (readMM): make work for pattern matrices as well
580    
581    2007-08-14 13:07  Douglas Bates <bates@stat.wisc.edu>
582    
583            * [r4730] src/Mutils.h: declare alloca
584            * [r4734] NAMESPACE, R/AllGeneric.R, R/Csparse.R, R/HBMM.R, R/Tsparse.R,
585              R/dgCMatrix.R, R/dgTMatrix.R, R/dsCMatrix.R, R/dsTMatrix.R,
586              man/externalFormats.Rd, src/Csparse.c, src/Csparse.h, src/DEPS.mkf,
587              src/HBMM.c, src/HBMM.h, src/Mutils.h, src/SOURCES_C.mkf, src/init.c,
588              src/mmio.c, src/mmio.h: Remove deprecated function writeHB and its
589              methods; switch writeMM to use CHOLMOD code; repair readMM
590    
591    2007-08-14  Martin Maechler  <maechler@stat.math.ethz.ch>
592    
593            * R/nearPD.R, man/nearPD.Rd (nearPD): new function built on Jens
594            Oehlschlaegel's ... result type still to be discussed!
595    
596    2007-08-10  Martin Maechler  <maechler@stat.math.ethz.ch>
597    
598            * man/image-methods.Rd: new, combining all image() methods
599    
600    2007-08-09  Martin Maechler  <maechler@stat.math.ethz.ch>
601    
602            * R/dgCMatrix.R: define qr() and lu() methods for "sparseMatrix"
603            to work via dgC...
604    
605            * R/Matrix.R (Matrix): special treatment for "table" (S3)
606    
607    2007-08-07  Martin Maechler  <maechler@stat.math.ethz.ch>
608    
609            * R/dgTMatrix.R (image): change defaults to
610                    aspect = "iso", colorkey = FALSE
611    
612    2007-08-06  Martin Maechler  <maechler@stat.math.ethz.ch>
613    
614            * src/dsyMatrix.c (dsyMatrix_matrix_mm): 'b' might be matrix;
615            must copy its *expanded* x slot before LAPACK call.
616    
617            * tests/matprod.R: test the last days' changes.
618    
619    2007-08-06 16:43  Douglas Bates <bates@stat.wisc.edu>
620    
621            * [r4712] inst/include/Matrix_stubs.c: Change R_cholmod_printf in stubs
622              as well as in sources
623            * [r4713] src/dsyMatrix.c: Duplicate the contents of the RHS before
624              Lapack call
625    
626    2007-08-03  Martin Maechler  <maechler@stat.math.ethz.ch>
627    
628            * R/Matrix.R (%*%, crossprod, tcrossprod): add method for
629                    ("Matrix", "matrix") which is needed in some cases.
630            Ditto for solve().
631    
632            * R/colSums.R (.as.dge.Fun): need ddenseMatrix methods to avoid
633            infinite recursion in dispatch for some cases.
634    
635    2007-08-02 08:48  Martin Maechler <maechler@stat.math.ethz.ch>
636    
637            * [r4693] src/chm_common.c: R_cholmod_printf() instead of Rprintf() just
638              so pointers match
639    
640    2007-08-02  Martin Maechler  <maechler@stat.math.ethz.ch>
641    
642            * DESCRIPTION (Date): set ready for release -- 0.999375-1
643    
644    2007-08-01 15:44  Douglas Bates <bates@stat.wisc.edu>
645    
646            * [r4686] inst/include/Matrix.h, inst/include/Matrix_stubs.c,
647              src/chm_common.c, src/chm_common.h: Change API for
648              numeric_as_chm_dense and N_AS_CHM_DN
649    
650    2007-08-01  Martin Maechler  <maechler@stat.math.ethz.ch>
651    
652            * src/dtrMatrix.c (dtrMatrix_matrix_mm): fix dimensionality check (!)
653            * tests/matprod.R: regr.test for it
654    
655    2007-07-20  Martin Maechler  <maechler@stat.math.ethz.ch>
656    
657            * R/dMatrix.R: fix from Brian for   Math2(., digits = "missing")
658            * tests/group-methods.R: and regression-test it
659    
660    2007-07-19 19:45  Douglas Bates <bates@stat.wisc.edu>
661    
662            * [r4642] inst/include/Matrix.h, inst/include/Matrix_stubs.c,
663              inst/include/cholmod.h, src/chm_common.c, src/init.c: Export
664              triplet_to_sparse, documentation, use typedefs
665    
666    2007-07-18  Martin Maechler  <maechler@stat.math.ethz.ch>
667    
668            * man/dpoMatrix-class.Rd: added 'corMatrix' example
669    
670            * src/dsyMatrix.[ch] (dsyMatrix_as_matrix): new 'keep_dimnames' arg
671            * src/dtrMatrix.[ch] (dtrMatrix_as_matrix): ditto
672            * src/init.c, R/dsyMatrix.R, R/dtrMatrix.R, R/lgTMatrix.R: ditto
673    
674            * R/lsparseMatrix.R: bug fix in "all" method
675            * R/Ops.R (.do.Logic.lsparse): "|" bug in borderline case
676    
677            * R/dsyMatrix.R (coerce->dsTMatrix): (i,j) slots should *not* have names
678            * R/ngTMatrix.R (coerce->ngTMatrix): ditto;
679                    + matrix |-> nMatrix coercion
680            * R/pMatrix.R: + setAs()  to dMatrix and from nMatrix
681            * man/pMatrix-class.Rd: ditto
682    
683            * R/Matrix.R (Summary): method for non-dMatrix
684    
685            * tests/Class+Meth.R (extraValid): new check about "dirty" slots
686            * tests/Class+Meth.R (tstMatrixClass): test norm(.);
687                    test all Summary methods.
688    
689    2007-07-16  Martin Maechler  <maechler@stat.math.ethz.ch>
690    
691            * R/dgeMatrix.R (norm, rcond): methods for 'matrix'
692    
693    2007-07-14  Martin Maechler  <maechler@stat.math.ethz.ch>
694    
695            * R/sparseMatrix.R (norm): simple methods for sparseMatrix
696    
697            * R/pMatrix.R (t?crossprod): methods for pMatrix
698    
699    2007-07-10  Douglas Bates  <bates@stat.wisc.edu>
700    
701            * src/dgeMatrix.c (dgeMatrix_colsums): Get the logic straight.
702    
703    2007-07-09 20:45  Douglas Bates <bates@stat.wisc.edu>
704    
705            * [r4579] src/dgeMatrix.c: Untangle horrible code in dgeMatrix_colsums
706              trying to fix a subtle bug - which has been somewhere else.
707    
708    2007-07-09 19:43  Martin Maechler <maechler@stat.math.ethz.ch>
709    
710            * [r4578] src/dgeMatrix.c: "cleaned" dgeMatrix_colsums() - but did not
711              solve the bug
712    
713    2007-07-08  Martin Maechler  <maechler@stat.math.ethz.ch>
714    
715            * src/dgCMatrix.c (compressed_to_TMatrix):
716    
717    2007-07-07  Martin Maechler  <maechler@stat.math.ethz.ch>
718    
719            * src/Csparse.c (Rsparse_validate): new, to have some validity
720            checking for RsparseMatrix
721            * src/dgCMatrix.c (xRMatrix_validate): ditto
722            * src/dtCMatrix.c (tRMatrix_validate): ditto
723    
724    2007-07-07  Douglas Bates <bates@stat.wisc.edu>
725    
726            * [r4567] R/AllClass.R: Slots already in RsparseMatrix were redefined in
727              lgRMatrix
728            * [r4568] DESCRIPTION: Prepare for bug-fix release
729            * [r4570] src/CHOLMOD/Check/cholmod_write.c: Include cholmod_matrixops.h
730              for declaration of cholmod_symmetry
731    
732    2007-07-06  Martin Maechler  <maechler@stat.math.ethz.ch>
733    
734            * DESCRIPTION (Version): 0.999375 merged into the trunk; ready for
735            release.
736    
737    2007-07-06 14:11  Douglas Bates <bates@stat.wisc.edu>
738    
739            * [r4559] src/iohb.c, src/iohb.h: Remove Harwell-Boeing input/output
740              functions - no longer used
741            * [r4560] src/HBMM.c, src/Mutils.c, src/dgTMatrix.c, src/dgeMatrix.c,
742              src/dspMatrix.c, src/dsyMatrix.c, src/dtCMatrix.c,
743              src/factorizations.c, src/sparseQR.c: Replace most calls to Calloc by
744              Alloca
745    
746    2007-07-06 13:14  Martin Maechler <maechler@stat.math.ethz.ch>
747    
748            * [r4558] inst/doc/Comparisons.Rnw, src/CHMfactor.c, src/Csparse.c,
749              src/Tsparse.c, src/chm_common.c, src/chm_common.h, src/dense.c,
750              src/dgCMatrix.c, src/dsCMatrix.c, src/dtTMatrix.c, src/sparseQR.c,
751              src/t_gCMatrix_colSums.c: more R_CheckStack()s
752    
753    2007-07-05 18:12  Douglas Bates <bates@stat.wisc.edu>
754    
755            * [r4550] inst/include/Matrix.h: Add the macro N_AS_CHM_DN to "alloca"
756              the required amount of memory then call M_numeric_as_chm_dense.
757            * [r4556] src/Mutils.h, src/dgCMatrix.c: Define and use the Alloca macro
758              (like Calloc but calling alloca)
759    
760    2007-07-05  Martin Maechler  <maechler@stat.math.ethz.ch>
761    
762            * R/sparseMatrix.R (printSpMatrix): renamed from prSpMatrix()
763            and extended with more sophisticated 'col.names' option.
764            * NAMESPACE: export  printSparseMatrix()
765            * man/printSpMatrix.Rd: document, incl. examples
766    
767    2007-07-04 16:21  Douglas Bates <bates@stat.wisc.edu>
768    
769            * [r4543] src/cs_utils.c, src/cs_utils.h, src/dgCMatrix.c,
770              src/dtCMatrix.c, src/sparseQR.c: CSP typedef for *cs and macro
771              AS_CSP. API change - pass the empty structure to Matrix_as_cs.
772    
773    2007-07-04  Martin Maechler  <maechler@stat.math.ethz.ch>
774    
775            * DESCRIPTION (Version): 0.99875-4
776    
777            * tests/Class+Meth.R (tstMatrixClass): add dimnames, and hence test
778            some dimnames perservation.
779    
780            * R/dsTMatrix.R (t-method): keep dimnames
781            * R/dtTMatrix.R:  ditto
782    
783            * R/sparseMatrix.R (prSpMatrix): print colnames when non-trivial
784            and ncol(.) < 10
785    
786            * src/cs_utils.c: drop check_class() and use Matrix_check_class()
787            from Mutils.h
788    
789            * src/lgCMatrix.c ([ln]csc_to_matrix): no longer lose dimnames,
790            e.g. in as(<ngCMatrix>, "matrix")
791    
792    2007-07-01 13:27  Douglas Bates <bates@stat.wisc.edu>
793    
794            * [r4529] .: Create a branch for the API changes from the 0.99875
795              series to the 0.999375 series
796            * [r4530] DESCRIPTION, inst/include/Matrix.h,
797              inst/include/Matrix_stubs.c, src/CHMfactor.c, src/Csparse.c,
798              src/Mutils.h, src/Tsparse.c, src/chm_common.c, src/chm_common.h,
799              src/dense.c, src/dgCMatrix.c, src/dsCMatrix.c, src/dtTMatrix.c,
800              src/t_gCMatrix_colSums.c: API change - pass the empty structure to the
801              as_cholmod_x functions
802    
803    2007-06-30 09:05  Martin Maechler <maechler@stat.math.ethz.ch>
804    
805            * [r4527] trunk/Matrix/DESCRIPTION, trunk/Matrix/NAMESPACE,
806              trunk/Matrix/inst/doc/Comparisons.Rnw: add session- and hardware-info
807              to Comparisons
808    
809    >>>>>>> .merge-right.r4561
810    2007-06-29  Martin Maechler  <maechler@stat.math.ethz.ch>
811    
812            * DESCRIPTION (Version): 0.99875-3 ready to be released.
813    
814            * R/sparseMatrix.R (spMatrix): make spMatrix(3,4) working
815    
816            * R/AllGeneric.R: set "Math" (and "Math2") group generics in a way
817            that should also work in a future version of R.
818    
819    2007-06-21  Martin Maechler  <maechler@stat.math.ethz.ch>
820    
821            * NAMESPACE, R/AllClass.R: "xsparseVector" class union.
822    
823            * R/sparseVector.R: more *sparseVector coercions, notably for
824            non - double ones.
825    
826    2007-06-19  Martin Maechler  <maechler@stat.math.ethz.ch>
827    
828            * R/colSums.R: new file for all (col|row)(Sums|Means) methods,
829              notably the new ones building on the new .Call(.)s:
830    
831            * src/dgCMatrix.c (DEF_gCMatrix_COLSUMS): use to define
832            all 4 of [dlin]gCMatrix_colSums().
833    
834    2007-06-18 16:12  Douglas Bates <bates@stat.wisc.edu>
835    
836            * [r4472] src/Syms.h, src/init.c: Added Matrix_lengthSym
837            * [r4473] src/dgCMatrix.c: Modified dgCMatrix_colSums for sparseVector
838              result
839    
840    2007-06-16  Martin Maechler  <maechler@stat.math.ethz.ch>
841    
842            * R/kronecker.R: fix typo (could lead to inf.recursion)
843            * test/simple.R: testing that
844    
845            * R/sparseMatrix.R (prSpMatrix): change to be used as print()
846            method as well (which can have arguments, show() can't).
847    
848    2007-06-16 15:52  Douglas Bates <bates@stat.wisc.edu>
849    
850            * [r4466] R/dgCMatrix.R, src/dgCMatrix.c, src/dgCMatrix.h, src/init.c:
851              added dgCMatrix_colSums for [col,row][Sums,Means]
852    
853    2007-06-15 23:15  Douglas Bates <bates@stat.wisc.edu>
854    
855            * [r4460] R/sparseMatrix.R, man/dgCMatrix-class.Rd, src/dgCMatrix.c,
856              src/dgCMatrix.h, src/init.c: added lm.fit.sparse (unexported),
857              coercion of "factor" to "dgCMatrix" and dgCMatrix_cholsol
858            * [r4461] R/AllClass.R, man/sparseMatrix-class.Rd: draft "indicators"
859              class
860            * [r4463] R/sparseMatrix.R, man/dgCMatrix-class.Rd,
861              man/sparseMatrix-class.Rd: Don't need an "indicators" class - use the
862              row names to store the levels - duh!  Added an example.
863    
864    2007-06-14  Martin Maechler  <maechler@stat.math.ethz.ch>
865    
866            * src/Csparse.c (Csparse_validate): check for *repeated* entries
867            thanks to example from Christian Buchta; with a test here:
868            * tests/simple.R:
869    
870    2007-06-07  Martin Maechler  <maechler@stat.math.ethz.ch>
871    
872            * R/Auxiliaries.R (callGeneric): another fix, needed for some cases
873            of colSums(*, sparseResult = TRUE)
874    
875    2007-06-06  Martin Maechler  <maechler@stat.math.ethz.ch>
876    
877            * R/lsparseMatrix.R, R/ldenseMatrix.R (all, any): change default to
878            'na.rm = FALSE' as "everywhere" else in R.
879    
880    2007-06-05 Douglas Bates <bates@stat.wisc.edu>
881    
882            * [r4421] src/CSparse_install.sh: Modify for new organization of
883              CSparse package
884            * [r4425] src/UFsparse_download.sh: Update to version 3.0.0 of
885              SuiteSparse
886            * [r4426] src/Makefile: add ./UFconfig to the include path for
887              compilation
888            * [r4427] src/cs.[ch]: update to CSparse version 2.2.0
889            * [r4428] inst/doc/UFsparse/* src/{AMD,CHOLMOD,COLAMD}/*
890              src/UFconfig/UFconfig.h: Update to version 3.0.0 of SuiteSparse
891    
892    2007-06-05  Martin Maechler  <maechler@stat.math.ethz.ch>
893    
894            * R/Auxiliaries.R (emptyColnames): + argument msg.if.not.empty, used in
895            * R/sparseMatrix.R (prSpMatrix): now gives a message about
896            suppressed column names.
897    
898    2007-06-04 17:13  Douglas Bates <bates@stat.wisc.edu>
899    
900            * [r4418] src/Csparse.c, src/HBMM.c, src/Mutils.c, src/Mutils.h,
901              src/Tsparse.c, src/chm_common.c, src/chm_common.h, src/dgCMatrix.c,
902              src/dgeMatrix.c, src/dpoMatrix.c, src/dpoMatrix.h, src/dppMatrix.c,
903              src/dppMatrix.h, src/dsCMatrix.c, src/dspMatrix.c, src/dspMatrix.h,
904              src/dsyMatrix.c, src/dsyMatrix.h, src/dtpMatrix.c, src/dtrMatrix.c:
905              Remove warnings after change to const char* CHAR
906    
907    2007-06-04 17:11  Douglas Bates <bates@stat.wisc.edu>
908    
909            * [r4417] inst/include/Matrix_stubs.c, inst/include/cholmod.h: Corrected
910              type of M_cholmod_ssmult
911    
912    2007-06-03 14:42  Douglas Bates <bates@stat.wisc.edu>
913    
914            * [r4412] inst/include/Matrix_stubs.c, inst/include/cholmod.h,
915              src/init.c: Yet another cholmod export - cholmod_ssmult
916    
917    2007-05-23  Martin Maechler  <maechler@stat.math.ethz.ch>
918    
919            * NAMESPACE: exported drop0(), since
920            * man/drop0.Rd: I have seen several cases, I really wanted to use
921            it, so our users may want too.
922    
923    2007-05-22  Martin Maechler  <maechler@stat.math.ethz.ch>
924    
925            * man/colSums.Rd: separately document colSums() etc, since these
926            have the extra argument 'sparseResult'.
927    
928    2007-05-21  Martin Maechler  <maechler@stat.math.ethz.ch>
929    
930            * R/sparseMatrix.R (spMatrix): utility (T)sparse Matrix constructor;
931            * man/spMatrix.Rd: docu., including examples
932    
933            * R/Auxiliaries.R (sp.colMeans): etc, using a patched callGeneric(),
934            in order to make colMeans() etc fast *and* correct.
935            * R/sparseVector.R (replSPvec): "[<-" functionality for
936            sparseVectors; tested in
937            * tests/simple.R:
938    
939    2007-05-19  Martin Maechler  <maechler@stat.math.ethz.ch>
940    
941            * R/sparseMatrix.R (print.sparseSummary): and summary() method for
942            (very) sparse Matrices; output similar to Matlab's print().
943    
944    2007-05-17  Douglas Bates  <bates@stat.wisc.edu>
945    
946            * src/HBMM.c (Matrix_writeMatrixMarket): Write 1-based, not
947            0-based, indices (Jose Quesada <quesada@gmail.com>).
948    
949    2007-05-16  Douglas Bates  <bates@stat.wisc.edu>
950    
951            * R/CHMfactor.R: Added solve methods for a CHMfactor object.
952    
953    2007-05-16  Martin Maechler  <maechler@stat.math.ethz.ch>
954    
955            * R/Auxiliaries.R (sparsapply): new utility, much faster than
956            tapply1() for large sparse matrices.
957    
958    2007-05-15  Martin Maechler  <maechler@stat.math.ethz.ch>
959    
960            * R/Matrix.R (dim<-): reshape now via sparseVector.
961    
962            * R/sparseVector.R: methods and function for
963            * R/AllClass.R: new "sparseVector" class and daughters.
964            * NAMESPACE: export new classes
965    
966    2007-05-14  Martin Maechler  <maechler@stat.math.ethz.ch>
967    
968            * DESCRIPTION (Version): 0.99875-1
969            * src/Makefile.win: also remove Lapack code from here (cf. 04-25).
970    
971    2007-05-11  Martin Maechler  <maechler@stat.math.ethz.ch>
972    
973            * R/Tsparse.R ([, Tsparse): fix last case: *duplicated*, symmetric
974            indexing
975            * tests/indexing.R: test set for that.
976    
977    2007-05-08  Martin Maechler  <maechler@stat.math.ethz.ch>
978    
979            * R/Tsparse.R (replTmat): fix the case of *duplicated* index
980            entries.
981            * tests/indexing.R(out): add regression test for it
982    
983    2007-04-30  Martin Maechler  <maechler@stat.math.ethz.ch>
984    
985            * R/(l(dense|sparse))?Matrix.R (!): use 'x', not 'e1' as argument
986            name for "!" method definitions.
987    
988    2007-04-26  Martin Maechler  <maechler@stat.math.ethz.ch>
989    
990            * R/Tsparse.R (intI): new utility, used for "[" :
991                    Cleanup up there, and fixes for duplicated indices - more TODO!
992    
993            * tests/indexing.R(out): more tests
994    
995    2007-04-25  Douglas Bates  <bates@stat.wisc.edu>
996    
997            * DESCRIPTION,src/Makefile: require R>= 2.5.0 and remove Lapack
998            code that is now part of the R Lapack library.
999    
1000            * src/init.c,inst/include/{Matrix_stubs.c,cholmod.h}:export
1001            cholmod_factorize_p (used in lme4 for GLMMs and NLMMs).
1002    
1003    2007-04-21  Martin Maechler  <maechler@stat.math.ethz.ch>
1004    
1005            * R/Matrix.R (image): method for all Matrices, not just sparse ones.
1006    
1007    2007-04-17  Martin Maechler  <maechler@stat.math.ethz.ch>
1008    
1009            * R/Auxiliaries.R (tapply1): unname(.) -> colSums() etc don't end
1010            up with extraneous names '0'...'<n-1>'
1011    
1012    2007-04-12  Martin Maechler  <maechler@stat.math.ethz.ch>
1013    
1014            * R/dgTMatrix.R (mat2dgT): care about NAs
1015    
1016    2007-04-11  Martin Maechler  <maechler@stat.math.ethz.ch>
1017    
1018            * R/kronecker.R: triangularity preserving methods
1019    
1020    2007-03-27  Martin Maechler  <maechler@stat.math.ethz.ch>
1021    
1022            * R/kronecker.R: new file collecting kronecker() methods in one
1023                    place.  Goal: become much faster!
1024    
1025    2007-03-23  Martin Maechler  <maechler@stat.math.ethz.ch>
1026    
1027            * src/dtCMatrix.c (dtCMatrix_solve): use the new code from Kasper
1028            Kristensen based cs_spsolve() instead of _lsolve & _usolve which
1029            can be much faster.
1030    
1031            * tests/matprod.R: add regression tests for these (upper & lower).
1032    
1033    2007-03-19  Martin Maechler  <maechler@stat.math.ethz.ch>
1034    
1035            * R/Matrix.R (diff): method for our Matrices.
1036    
1037            * R/sparseMatrix.R (isDiagonal): check dim()!
1038    
1039    2007-03-17  Martin Maechler  <maechler@stat.math.ethz.ch>
1040    
1041            * R/Matrix.R (dim<-): new method for "reshape()" built on a
1042            proposal from Tamas Papp.
1043    
1044    2007-03-16  Martin Maechler  <maechler@stat.math.ethz.ch>
1045    
1046            * R/AllGeneric.R: remove all  if(!isGeneric(.))  clauses
1047    
1048            * R/zzz.R (.onLoad, .onUnload): do *not* leave bind_activation(TRUE);
1049            rather define and export  cBind() and rBind() only.
1050            --> useRs *must* change code that used to have cbind()/rbind() !!
1051    
1052            * R/bind.R: change tests from cbind() to cBind() and similarly to rBind()
1053            * R/bind.Rout.save: ditto
1054    
1055    2007-02-16  Douglas Bates  <bates@r-project.org>
1056    
1057            * DESCRIPTION (Date, Version): 0.9975-11 with new date
1058            * src/dgCMatrix.c (R_to_CMatrix, compressed_to_TMatrix): remove
1059            const modifier on declaration of the array 'valid'
1060    
1061    2007-02-12  Douglas Bates  <bates@stat.wisc.edu>
1062    
1063            * R/CHMfactor.R: Add image method (coercion to sparseMatrix).
1064    
1065    2007-02-05  Martin Maechler  <maechler@stat.math.ethz.ch>
1066    
1067            * DESCRIPTION (Date, Version): 0.9975-10 with new date.
1068    
1069            * R/Ops.R (Arith): make sure Csparse o Csparse also works for e.g. ntCMatrix
1070            * tests/simple.R: test the above and some of these coercions:
1071    
1072            * R/nsparseMatrix.R: coercing "Csparse" to "lsparseMatrix";
1073                    be careful to avoid infinite recursion, using new coercions in
1074            * R/ngCMatrix.R and nsC... and ntC...
1075            * R/lsparseMatrix.R: ditto
1076    
1077            * R/SparseM-conv.R: more conversion, notably for triplet matrices.
1078    
1079            * src/dgCMatrix.c (R_to_C_Matrix): port Doug's fix and
1080            * R/Rsparse.R: reactivate .Call()s
1081    
1082            * tests/Class+Meth.R: a bit more on actual classes
1083    
1084    2007-02-04  Douglas Bates  <bates@stat.wisc.edu>
1085    
1086            * src/dgCMatrix.c (compressed_to_TMatrix): fix memory bug using strdup()
1087    
1088    2007-02-03  Martin Maechler  <maechler@stat.math.ethz.ch>
1089    
1090            * DESCRIPTION (Version): 0.9975-10 to upload
1091    
1092            * tests/Class+Meth.R (tstMatrixClass): require coercions to
1093            specific classes less unconditionally.
1094    
1095            * R/Auxiliaries.R: get rid of as_Tsparse() and as_Rsparse()
1096    
1097            * R/Tsparse.R (triu): etc, use as(*, "TsparseMatrix") instead of as_Tsparse()
1098    
1099            * R/Rsparse.R (.R.2.T): R-level workaround using compressed_to_TMatrix.
1100            * R/Rsparse.R (.R.2.C): R-level workaround since C-level
1101            R_to_CMatrix segfaults on one platform.
1102            Eliminate most coercion method to *specific* classes, and replace
1103            with virtual classes coercions.
1104    
1105    
1106    2007-02-01  Martin Maechler <maechler@stat.math.ethz.ch>
1107    
1108            * src/init.c: export the CHM...._validate() placeholders, since
1109            they *are* called.
1110    
1111            * tests/Class+Meth.R (classCanCoerce): and starting to test
1112            all as(<from>, <to>)
1113    
1114    2007-01-30  Martin Maechler  <maechler@stat.math.ethz.ch>
1115    
1116            * R/Tsparse.R ([): more care when subsetting triangular Tsparse
1117            * tests/indexing.R: tested now
1118            * tests/indexing.Rout.save: updated
1119    
1120            * src/Csparse.c (Csparse_to_dense): use Rkind = -1 for PATTERN to
1121            * src/chm_common.c (chm_dense_to_SEXP): return "ngeMatrix" when
1122            appropriate.
1123    
1124            * NAMESPACE: export a trivial
1125            * R/Matrix.R: drop() Matrix-method
1126    
1127            * R/AllClass.R: moved all prototypes to virtual super classes.
1128    
1129            * R/Rsparse.R: many more coercions to have less exceptions in
1130            * tests/Class+Meth.R:
1131    
1132            * R/Ops.R (Compare): tweak for case with NA
1133            * tests/simpl.R: hence another 'FIXME' eliminated
1134    
1135    2007-01-29  Martin Maechler  <maechler@stat.math.ethz.ch>
1136    
1137            * R/diagMatrix.R (solve): the obvious methods for diagonalMatrix
1138            objects.
1139    
1140            * tests/Class+Meth.R (tstMatrixClass): now testing diag(), nnzero(),
1141              and more of "!", "&", "|", all, any; coercions
1142    
1143            * R/Rsparse.R: many coercions (which enable quite a few other
1144            methods), thanks to enhancements in
1145            * src/dgCMatrix.c (R_to_CMatrix): new, and
1146            * src/dgCMatrix.c (compressed_to_TMatrix): now for (d,l,n) ,
1147            symmetric & triangular and ..RMatrix objects.
1148    
1149            * src/TMatrix_as.c (Matrix_T_as_DENSE,Matrix_T_as_GENERAL):
1150            renamed file from src/dsTMatrix.c;
1151            now dealing with symmetric and triangular Tsparse coercions, both
1152            to dense and general.
1153    
1154    2007-01-27  Martin Maechler  <maechler@stat.math.ethz.ch>
1155    
1156            * src/dsTMatrix.c: has now "l" and "n" methods besides the "d" ones.
1157    
1158            * R/Ops.R (Arith): <dgCMatrix> o <numeric> now remains sparse
1159            where sensible when the <numeric> is of length > 1.
1160    
1161    2007-01-26  Martin Maechler  <maechler@stat.math.ethz.ch>
1162    
1163            * R/Matrix.R ([<-): for M[] <- value: fix length
1164    
1165    2007-01-25  Martin Maechler  <maechler@stat.math.ethz.ch>
1166    
1167            * R/Auxiliaries.R (n2l_Matrix): new, to be used in
1168            * R/ndenseMatrix.R: new coercions n* -> l*
1169    
1170    2007-01-22  Martin Maechler  <maechler@stat.math.ethz.ch>
1171    
1172            * R/triangularMatrix.R: new file; simple triu() and tril() methods.
1173    
1174            * R/Ops.R ("Logic"): and other "Ops", many updates
1175    
1176    2007-01-18  Martin Maechler  <maechler@stat.math.ethz.ch>
1177    
1178            * src/Mutils.h (SET_DimNames): new utility
1179    
1180            * R/Auxiliaries.R (nnzero): improved and now exported via
1181    
1182            * NAMESPACE: + nnzero(); length() == prod(dim(.)) method for all "Matrix" objects
1183    
1184    2007-01-17  Martin Maechler  <maechler@stat.math.ethz.ch>
1185    
1186            * R/diagMatrix.R (!): fix typo.
1187    
1188    2007-01-16  Martin Maechler  <maechler@stat.math.ethz.ch>
1189    
1190            * R/Auxiliaries.R (as_Csparse): and quite a few others:
1191                    allow to pass class definition --> speedup
1192            * R/sparseMatrix.R: apply the above
1193    
1194            * R/Csparse.R: coercion Csparse* to dense* now preserves shape properties.
1195    
1196            * src/Mutils.h (mMatrix_as_geMatrix): new, based on
1197            * src/Mutils.c (dup_mMatrix_as_geMatrix): new; generalization of
1198            old dup_mMatrix_as_dgeMatrix), eliminating a long-standing "FIXME".
1199    
1200            * src/dense.c (dense_to_Csparse): use new mMatrix_as_geMatrix()
1201    
1202            * R/denseMatrix.R (.dense2C): based on dense_to_Csparse: name it,
1203            and use it for "sparse*" as well, since it's faster than the
1204            as_Csparse(.) way.
1205    
1206    2007-01-15  Martin Maechler  <maechler@stat.math.ethz.ch>
1207    
1208            * R/Ops.R ("Logic"): more methods, notably an  <lgC> o <lgC> one.
1209    
1210    2007-01-12  Martin Maechler  <maechler@stat.math.ethz.ch>
1211    
1212            * R/Tsparse.R (.TM.repl.i.2col): new internal function to be used
1213            as method for   M[ ij ] <- v
1214            * R/Csparse.R:: go via Tsparse for "M[ij] <- v"
1215    
1216            * R/Ops.R: "Compare" for (C|R)sparse: need pointer slot for all
1217            FALSE answer
1218    
1219            * R/Csparse.R (replCmat): fix the "all non-zero" case with reordering
1220            * tests/indexing.R: test it, and some of the above
1221    
1222    2007-01-05  Martin Maechler  <maechler@stat.math.ethz.ch>
1223    
1224            * R/Auxiliaries.R (is_duplicatedT): new utility
1225    
1226    2007-01-05  Douglas Bates  <bates@stat.wisc.edu>
1227    
1228            * src/init.c (R_init_Matrix): export cholmod_scale
1229    
1230    2006-12-30  Martin Maechler  <maechler@stat.math.ethz.ch>
1231    
1232            * R/zzz.R (tmp): for R >= 2.5.0, extend formals of our
1233            base::as.matrix to (x, ...)
1234    
1235    2006-12-28  Martin Maechler  <maechler@stat.math.ethz.ch>
1236    
1237            * R/Ops.R ("Arith" etc): move almost all "Ops" methods to new R
1238            file; start using "Logic", hence
1239    
1240            * DESCRIPTION (Depends): R >= 2.4.1 (since we want "Logic")
1241            * NAMESPACE: import and export "Logic"
1242    
1243    2006-12-27  Martin Maechler  <maechler@stat.math.ethz.ch>
1244    
1245            * src/zpotfr.f and dependencies: use LAPACK 3.1 version
1246            only needed previously to R version 2.5.0.
1247    
1248    2006-12-26  Martin Maechler  <maechler@stat.math.ethz.ch>
1249    
1250            * DESCRIPTION (Date, Version): 0.9975-8, ready for release
1251    
1252            * R/Tsparse.R (replTmat): fix subassignment of triangular
1253            * R/Csparse.R (replCmat): ditto
1254            * tests/indexing.R: more tests, incl the above fix
1255    
1256    2006-12-23  Martin Maechler  <maechler@stat.math.ethz.ch>
1257    
1258            * R/Auxiliaries.R (drop0): extend for non CSparse
1259            * R/Auxiliaries.R (diagU2N): should work for all sparseMatrix
1260    
1261            * src/Csparse.c (Csparse_to_Tsparse, Csparse_general_to_symmetric):
1262                    use uplo correctly (!); other places: use uplo_P() macro
1263    
1264            * R/Csparse.R (replCmat): call diagU2N() when needed
1265            * R/Tsparse.R (replTmat): ditto
1266    
1267            * src/dtCMatrix.c (tCMatrix_validate): new
1268            * src/dtTMatrix.c (tTMatrix_validate): new, used in
1269            * R/AllClass.R: for validity of dtC, dsC, and dtT, dsT.
1270    
1271            * R/diagMatrix.R (replDiag): to use in [<-
1272    
1273    2006-12-22  Martin Maechler  <maechler@stat.math.ethz.ch>
1274    
1275            * R/Auxiliaries.R (as_Csparse2, as_geSimpl): new functions;
1276                    also more general diagU2N().
1277    
1278    2006-12-21  Martin Maechler  <maechler@stat.math.ethz.ch>
1279    
1280            * R/bind2.R: new file for all cbind2(), rbind() methods moved here
1281            from R/<foo>Matrix.R files. Better diagonal & improved sparse methods.
1282    
1283    2006-12-20  Martin Maechler  <maechler@stat.math.ethz.ch>
1284    
1285            * tests/bind.R: a few more cases
1286            * R/Auxiliaries.R (.M.kind): also work for atomic vectors
1287    
1288            * R/denseMatrix.R (cbind2/rbind2): moved here (and generalized) from
1289            * R/ddenseMatrix.R (cbind2/rbind2)
1290            * R/Tsparse.R (replTmat): final(?!) fix for "[<-" ..
1291            * tests/indexing.R
1292            * tests/indexing.Rout.save: updated
1293    
1294    2006-12-18  Martin Maechler  <maechler@stat.math.ethz.ch>
1295    
1296            * R/Tsparse.R (replTmat): fixed a remaining "[<-" bug in
1297            * tests/indexing.R
1298    
1299    2006-12-15  Martin Maechler  <maechler@stat.math.ethz.ch>
1300    
1301            * R/sparseMatrix.R (prSpMatrix): "." alignment much improved:
1302            align with proper position of "0", i.e., right for integers.
1303            argument 'align' by default is "fancy".
1304    
1305    2006-12-14  Martin Maechler  <maechler@stat.math.ethz.ch>
1306    
1307            * R/sparseMatrix.R: delegate "Compare" to "Csparse.."
1308            * R/Csparse.R: and fix "Compare" for more cases.
1309            * tests/Class+Meth.R: test some of these (m == m, m != m)
1310    
1311    2006-12-13  Martin Maechler  <maechler@stat.math.ethz.ch>
1312    
1313            * R/lsparseMatrix.R: all() and any() methods
1314            * R/ldenseMatrix.R:      ditto
1315            * NAMESPACE, R/Matrix.R: ditto
1316    
1317            * man/all-methods.Rd: document them minimally
1318    
1319            * tests/simple.R: add a few examples for these
1320    
1321    2006-12-11  Martin Maechler  <maechler@stat.math.ethz.ch>
1322    
1323            * R/Tsparse.R ([): fix long standing typo in symmetric case
1324            * man/dsCMatrix-class.Rd: add example exhibiting the above case
1325    
1326    2006-12-10  Douglas Bates  <bates@stat.wisc.edu>
1327    
1328            * src/CHMfactor.c (CHMfactor_to_sparse): change LDL factorization
1329            to LL before converting to a sparse matrix. (The LDL form can be
1330            converted to a sparse matrix but it is implicitly a unit
1331            triangular matrix and a diagonal matrix overwritten on the diagonal.)
1332    
1333    2006-12-09  Douglas Bates  <bates@stat.wisc.edu>
1334    
1335            * src/chm_common.c (chm_factor_to_SEXP): allocate and fill the Dim slot.
1336    
1337    2006-12-08  Douglas Bates  <bates@stat.wisc.edu>
1338    
1339            * DESCRIPTION (Version): updated -> release 0.9975-7
1340            * src/{init.c,chm_common.c}, inst/include/*: export cholmod_analyze_p
1341    
1342    2006-11-30  Martin Maechler  <maechler@stat.math.ethz.ch>
1343    
1344            * R/diagMatrix.R (%*%): write a direct [diag o Csparse] method
1345    
1346    2006-11-29  Douglas Bates  <bates@stat.wisc.edu>
1347    
1348            * src/dgeMatrix.c (dgeMatrix_solve): Check error code from dgetri.
1349            * tests/dg_Matrix.R: Add Barry Rowlingson's test of a matrix that
1350            is exactly singular.
1351    
1352    2006-11-07  Martin Maechler  <maechler@stat.math.ethz.ch>
1353    
1354            * DESCRIPTION (Date): updated -> release 0.9975-6
1355    
1356    2006-11-06  Martin Maechler  <maechler@stat.math.ethz.ch>
1357    
1358            * R/Csparse.R (replCmat): symmetric indexing of symmetric matrix
1359            now returns symmetric.
1360    
1361            * R/zzz.R ("diag<-"): replace "diag<-" in base for R <= 2.4.x
1362    
1363            * R/Matrix.R (.M.sub.i.2col):  new, for  M[ cbind(i,j) ] indexing.
1364            * R/Matrix.R (.M.repl.i.2col): new, for  M[ cbind(i,j) ] <- value
1365    
1366            * R/Auxiliaries.R (.type.kind): added
1367    
1368    2006-11-04  Martin Maechler  <maechler@stat.math.ethz.ch>
1369    
1370            * src/cs.[ch]: updated to CSparse Version 2.0.3 by simply
1371            running src/CSparse_install.sh
1372    
1373            * R/denseMatrix.R: "[": keep symmetric on symmetric indexing.
1374    
1375    2006-11-03  Martin Maechler  <maechler@stat.math.ethz.ch>
1376    
1377            * src/dsCMatrix.c (dsCMatrix_Csparse_solve): new
1378            * R/dsCMatrix.R (solve): "fully-sparse" using the above.
1379    
1380            * R/AllClass.R: "pMatrix" now also inherits from "generalMatrix"
1381    
1382            * tests/Class+Meth.R (tstMatrixClass): now assure
1383            the (important in method programming) property :
1384    
1385                    ###>>  Every "Matrix" is either
1386                    ###>>  "general*", "symmetric*", "triangular*" or "diagonal*"
1387    
1388                    (where "*" stands for "Matrix")
1389    
1390            * R/Auxiliaries.R (diagU2N): now .Call()s Csparse_diagU2N for <Csparse>
1391    
1392            * R/dMatrix.R (Compare(<dMatrix>,<dMatrix>): update and
1393            * tests/validObj.R: checks for "comparison"
1394    
1395            * R/sparseMatrix.R ([): improved indexing for sparse;
1396                    trying to keep <symmetric>[ n, n] symmmetric
1397    
1398            * tests/indexing.R: indexing for logical sparse now ok
1399    
1400    
1401    2006-11-02  Martin Maechler  <maechler@stat.math.ethz.ch>
1402    
1403            * src/Tsparse.c: use xTsparse_validate() , and hence remove
1404    
1405            * src/{ltC,lsC,lgT}Matrix.[ch]: removed
1406    
1407    2006-11-02  Martin Maechler  <maechler@stat.math.ethz.ch>
1408    
1409            * R/AllClass.R (Matrix-class): check length of dimnames in validity.
1410    
1411            * tests/simple.R: validObject() checking the above.
1412    
1413            * src/dgCMatrix.c (xCMatrix_validate): new, small and simple,
1414            replacing both dgCMatrix_validate and lgCM*.
1415    
1416            * src/Csparse.c (Csparse_dense_prod, etc): do not lose dimnames;
1417            fix dimnames setting in other places.
1418            * src/chm_common.c (chm_dense_to_SEXP): now can pass dimnames
1419    
1420    2006-11-01  Martin Maechler  <maechler@stat.math.ethz.ch>
1421    
1422            * R/Csparse.R,src/Csparse.c, etc: tcrossprod(<CsparseM>,<CsparseM>)
1423    
1424            * R/sparseMatrix.R (isSymmetric): drop 'factors' slot for
1425            symmetry test, via
1426            * R/Auxiliaries.R (.as.dgC.0.factors):
1427    
1428    2006-11-01  Douglas Bates  <bates@r-project.org>
1429    
1430            * R/Csparse.R,src/Csparse.c,tests/matprod.R,
1431            man/CsparseMatrix-class.Rd: crossprod(<CsparseMatrix>,
1432            <CsparseMatrix>) added
1433    
1434    2006-10-30  Martin Maechler  <maechler@stat.math.ethz.ch>
1435    
1436            * tests/matprod.R: add a variation of Harri's example
1437    
1438            * R/dsparseMatrix.R: fix crossprod(<dsparse>, <dge>) to *not*
1439            recursive infinitely.
1440    
1441            * R/dgCMatrix.R: + solve(<sparse>, <sparse>)
1442    
1443            * tests/indexing.R: add test for the "<" bug fixed 10-27 in R/dMatrix.R
1444    
1445    2006-10-28  Martin Maechler  <maechler@stat.math.ethz.ch>
1446    
1447            * tests/Class+Meth.R (tstMatrixClass): more: use non-trivial
1448            matrix if possible; test m+m == 2*m; now test dgRMatrix.
1449            * R/dgRMatrix.R (.to.dgR): a few more coercions, in order to
1450            satisfy the above test.
1451    
1452    2006-10-27  Martin Maechler  <maechler@stat.math.ethz.ch>
1453    
1454            * R/Matrix.R (Ops):  <Matrix> o <matrix>  method added
1455    
1456            * R/dgCMatrix.R: solve(a, b="missing") based on
1457            * src/dgCMatrix.c (dgCMatrix_matrix_solve): extend to work with
1458            RHS = NULL.
1459    
1460            * R/diagMatrix.R (diagdiagprod): extend %*% etc to ldiMatrix;
1461            add more (needed) [t]crossprod() methods.
1462    
1463            * man/ddiMatrix-class.Rd: more info, notably on 'diag'
1464    
1465            * R/Auxiliaries.R (as_CspClass): cleanup
1466            (drop0): internal utility for "Csparse_drop(*, 0)"
1467            (.bail.out.2): encourage active feedback
1468    
1469    2006-10-26  Martin Maechler  <maechler@stat.math.ethz.ch>
1470    
1471            * R/dMatrix.R(Compare): new(), then slots [no validity check]
1472    
1473            * src/Csparse.c (Csparse_validate): fixed (and more efficient in
1474            non-valid or 'sorted' case).
1475    
1476            * R/dsparseMatrix.R: add "chol" method.
1477            * R/ddenseMatrix.R: ditto
1478    
1479            * R/diagMatrix.R (Ops): group methods for  <diagonal> o <sparse>
1480            * NAMESPACE (Ops)
1481            * R/diagMatrix.R (diag2T): simple utility used "higher level"
1482            coercion; deprecating direct lower level coercions.
1483    
1484            * R/*.R (seq): use seq_len() and seq_along() where possible.
1485    
1486    
1487    2006-10-23  Martin Maechler  <maechler@stat.math.ethz.ch>
1488    
1489            * DESCRIPTION (Version): 0.9975-5 ready for release
1490    
1491    2006-10-20  Douglas Bates  <bates@stat.wisc.edu>
1492    
1493            * src/init.c (R_init_Matrix): export more cholmod CCallable functions.
1494    
1495    2006-10-20  Martin Maechler  <maechler@stat.math.ethz.ch>
1496    
1497            * R/AllClass.R (corMatrix): add 'validity' check;
1498                    comment out unused "LDL" class definition
1499            * NAMESPACE: mention, but do not export "LDL" class
1500            * R/corMatrix.R: new (simple), needed for R-devel with
1501            * tests/Class+Meth.R (tstMatrixClass): 1 exception for corMatrix
1502              coerce and t() exceptions for all 5 'Mat.MatFact' classes.
1503    
1504    2006-10-19  Douglas Bates  <bates@stat.wisc.edu>
1505    
1506            * src/chm_common.h: Add R_cholmod_start to initialize cholmod to
1507            use Rprintf and R's error handling.
1508    
1509    2006-10-17  Martin Maechler  <maechler@stat.math.ethz.ch>
1510    
1511            * R/diagMatrix.R (%*%): rep(*, each = .) in Matrix %*% diagonal.
1512            * tests/matprod.R: add tests for the bug fixed.
1513    
1514    2006-10-11  Douglas Bates  <bates@stat.wisc.edu>
1515    
1516            * src/HBMM.[ch]: remove HarwellBoeing format for writing.
1517            * src/SOURCES_C.mkf (SOURCES_C): no longer compile iohb.c
1518    
1519    2006-10-06  Douglas Bates  <bates@stat.wisc.edu>
1520    
1521            * R/d[gs]CMatrix.R: deprecate the writeHB function.  Use writeMM instead.
1522    
1523    2006-10-06  Martin Maechler  <maechler@stat.math.ethz.ch>
1524    
1525            * DESCRIPTION (Version): 0.9975-3
1526    
1527            * R/diagMatrix.R (bdiag): new function constructing block diagonal
1528            (sparse) matrices.
1529            * man/bdiag.Rd: docu + examples
1530    
1531            * R/Csparse.R (replCmat): calling new Csparse_drop() now.
1532    
1533            * src/Csparse.c (Csparse_general_to_symmetric, Csparse_drop): new functions
1534            * R/lsCMatrix.R: three more coercions to lsC (thanks to the above)
1535    
1536            * R/diagMatrix.R (Diagonal): '[<-' method for diag.matrices such
1537            that result is sparse or diagonal (and not dense).
1538    
1539            * man/Subassign-methods.Rd: fix examples
1540    
1541            * R/Matrix.R (Matrix):  Matrix(0, *) or Matrix(*, sparse=TRUE)
1542            should always return a sparse (and not sometimes a diagonal) matrix.
1543    
1544    2006-10-05  Martin Maechler  <maechler@stat.math.ethz.ch>
1545    
1546            * R/Matrix.R ([<-): also for value "Matrix" or "matrix"
1547    
1548    2006-10-04  Douglas Bates  <bates@stat.wisc.edu>
1549    
1550            * DESCRIPTION (Version): 0.9975-2
1551    
1552            * inst/include/Matrix_stubs.c (M_cholmod_sparse_to_triplet): export more symbols
1553    
1554    2006-10-02  Douglas Bates  <bates@R-project.org>
1555    
1556            * tests/dg_Matrix.R: Simplify test taking into account new code.
1557    
1558    2006-09-29  Martin Maechler  <maechler@stat.math.ethz.ch>
1559    
1560            * R/Csparse.R (replCmat): improve for missing i / j in non-simple cases
1561    
1562            * R/lsTMatrix.R: new files w/ missing methods
1563            * R/nsTMatrix.R:  "  'for completeness'
1564    
1565            * tests/Class+Meth.R: a bit less 'not.ok.classes'
1566    
1567            * R/Tsparse.R (t): generalized "t" method from "dgT*" to "Tsparse*"
1568    
1569    
1570    2006-09-28  Douglas Bates  <bates@R-project.org>
1571    
1572            * src/dppMatrix.h: Ensure definition of dspMatrix_validate is
1573            included.
1574    
1575            * src/init.c, inst/include/{Matrix.h,Matrix_stubs.h,cholmod.h}:
1576            Export C-callable functions used in Zt_create in lme4.
1577    
1578    2006-09-28  Martin Maechler  <maechler@stat.math.ethz.ch>
1579    
1580            * DESCRIPTION (Version): 0.9975-1
1581    
1582            * tests/simple.R: less checks fail; using NA, found that our
1583                    kronecker() is not base-compatible with NA's.
1584    
1585            * R/dMatrix.R: "Compare" method now implemented for all cases
1586    
1587            * R/Auxiliaries.R (indTri): == which([lower/upper].tri( * )) new utility
1588    
1589            * man/dtpMatrix-class.Rd: mention length of 'x' slot
1590    
1591            * src/dtpMatrix.c (dtpMatrix_validate): fix check
1592            * src/dspMatrix.c (dspMatrix_validate): ditto
1593    
1594            * R/dtTMatrix.R (gt2tT): fix ("l" -> "n")
1595              including coercion to [nl]tTMatrix.
1596    
1597            * R/diagMatrix.R (show): print a header line as for other classes.
1598    
1599    2006-09-27  Martin Maechler  <maechler@stat.math.ethz.ch>
1600    
1601            * src/Makefile.win (SUBDIRS): fix typo
1602    
1603    2006-09-19  Martin Maechler  <maechler@stat.math.ethz.ch>
1604    
1605            * DESCRIPTION (Date): ready to release 0.9975-0 to CRAN
1606    
1607    2006-09-18  Douglas Bates  <bates@stat.wisc.edu>
1608    
1609            * R/[CT]sparse.R (crossprod and tcrossprod): Handle the cases for x
1610            symmetric and y missing in R code using %*% (cholmod_aat doesn't
1611            accept a symmetric matrix).
1612            * tests/group-methods.R: Uncomment test of crossprod applied to
1613            lsCMatrix objects.
1614    
1615    2006-09-18  Martin Maechler  <maechler@stat.math.ethz.ch>
1616    
1617            * R/AllClass.R (symmetricMatrix): add validity method (available
1618            in C for a long time). Many "n..Matrix": drop (wrong) validity arg.
1619    
1620            * src/lgCMatrix.c (lgCMatrix_validate): check 'x' slot (!)
1621    
1622            * tests/indexing.Rout.save:
1623            * tests/indexing.R: additions, mainly for 'lsparse'
1624    
1625            * R/diagMatrix.R (Diagonal) & coercion to lgTMatrix: fixes for NA
1626            case.
1627    
1628            * R/Auxiliaries.R (nz.NA): new utility now used in nnzero()
1629    
1630    2006-09-16  Martin Maechler  <maechler@stat.math.ethz.ch>
1631    
1632            * R/sparseMatrix.R (prSpMatrix): print logical NAs "visibly"
1633                    as 'N' (1-letter - Ok?)
1634    
1635            * tests/group-methods.R: add test for logical + NAs
1636    
1637            * R/dMatrix.R ("Compare"): fix to work with NA's
1638    
1639            * R/AllClass.R: "Cholesky" etc now inherit from MatrixFactorization.
1640    
1641            * src/lgCMatrix.c (ncsc_to_matrix): renamed from lcsc_to_matrix()
1642                    which is implemented.
1643    
1644    2006-09-15  Martin Maechler  <maechler@stat.math.ethz.ch>
1645    
1646            * src/chm_common.c: coerce logical <-> double instead of
1647            typecasting;  needed for "l" matrix handling in cholmod.
1648    
1649            * tests/other-pkgs.R (graph): small extension in "graph" checks.
1650    
1651            * R/sparseMatrix.R (graphNEL -> Tsparse): method for weight case.
1652            (Tsp2grNEL): other fixes needed
1653    
1654    2006-09-11  Martin Maechler  <maechler@stat.math.ethz.ch>
1655    
1656            * R/AllClass.R ("nMatrix"): and subclasses for "nonzero pattern"
1657                    Matrices, since "lMatrix", also "lsparseM" can have NA
1658            * R/ndenseMatrix.R, etc: new source files
1659            * man/nsparseMatrix-classes.Rd, etc: new help files
1660            * tests/: adaptions
1661            * src/chm_common.c (chm_dense_to_SEXP): and others:
1662                    new 'Rkind' argument: "l*" and "d*" both use CHOLMOD_REAL
1663            * src/Csparse.c, etc: ditto
1664    
1665    2006-09-11  Douglas Bates  <bates@R-project.org>
1666    
1667            * src/Mutils.[ch],init.c inst/include/*.h: Move the
1668            alloc_d**Matrix functions to the lme4 package.
1669    
1670    2006-09-09  Douglas Bates  <bates@R-project.org>
1671    
1672            * src/dsCMatrix.c (dsCMatrix_Cholesky): igoring LDL = FALSE now
1673            fixed
1674    
1675    2006-09-09  Martin Maechler  <maechler@stat.math.ethz.ch>
1676    
1677            * R/lMatrix.R: new
1678    
1679            * R/sparseMatrix.R (Tsp2grNEL): do not yet use graph::foo()
1680    
1681            * R/dgeMatrix.R: do not define tcrossprod() methods for "matrix"
1682            * man/tcrossprod.Rd: ditto
1683    
1684    2006-09-08  Douglas Bates  <bates@stat.wisc.edu>
1685    
1686            * inst/include/Matrix_stubs.c,Matrix.h: Add declarations and stubs
1687            for exported functions
1688            * src/Makefile, src/CHOLMOD/Lib/Makefile, src/Metis,CAMD,CCOLAMD:
1689            Remove partitioning algorithms for sparse matrix reordering.  The
1690            copyright on the Metis code was problematic and the methods were
1691            rarely used.
1692            * src/triplet_to_col.[ch],MMHB.[ch]: Remove triplet_to_col.  Such
1693            operations are now done entirely in CHOLMOD code.
1694    
1695    2006-09-06  Douglas Bates  <bates@R-project.org>
1696    
1697            * src/Mutils.h: Remove functions that are no longer used.
1698    
1699    2006-09-04  Douglas Bates  <bates@R-project.org>
1700    
1701            * src/dtCMatrix.c (dtCMatrix_validate): rename functions.
1702            * src/DEPS.mkf: update
1703    
1704    2006-09-02  Martin Maechler  <maechler@stat.math.ethz.ch>
1705    
1706            * created branches/Matrix-for-R-2.3.x;  on trunk: do
1707            * DESCRIPTION (Version): 0.9975-0
1708            (Depends): R (>= 2.4.0)
1709    
1710    2006-09-01  Douglas Bates  <bates@R-project.org>
1711    
1712            * R/sparseMatrix.R: Added direct method to CsparseMatrix from graphNEL
1713    
1714    2006-09-01  Martin Maechler  <maechler@stat.math.ethz.ch>
1715    
1716            * R/sparseMatrix.R: add coercion from "ANY" to "sparseMatrix"
1717            * R/denseMatrix.R:  add coercion from "ANY" to "denseMatrix"
1718    
1719            * R/Matrix.R ([): use nargs() to disambiguate M[i] and M[i,]
1720    
1721    2006-08-31  Martin Maechler  <maechler@stat.math.ethz.ch>
1722    
1723            * R/sparseMatrix.R (Arith): moved Arith group method one-level up
1724            from "dsparse" to "sparse" and now go via "Csparse" instead of "dgC"
1725            * R/dsparseMatrix.R: ditto
1726            * R/Csparse.R: ditto
1727    
1728    2006-08-31  Martin Maechler  <maechler@stat.math.ethz.ch>
1729    
1730            * R/dMatrix.R (Compare): improve availability of "<", etc
1731            * R/Auxiliaries.R (asTuniq): new; also make use of R 2.4.x print(*,max)
1732    
1733    2006-08-30  Martin Maechler  <maechler@stat.math.ethz.ch>
1734    
1735            * R/dgCMatrix.R: aargh: "Arith(<dgC>, numeric)" was wrong because
1736            of a 0-index which was used as 1-index (..hmm)
1737    
1738            * R/sparseMatrix.R (prSpMatrix): fix printing an all-0 sparse Matrix
1739    
1740            * R/Auxiliaries.R (all0, is0): for 0-testing in presence of NA's
1741            * R/Auxiliaries.R (isTriMat): use all0() for 0-testing.
1742            (.is.diagonal): ditto
1743    
1744            * R/lgTMatrix.R: as("matrix", "lgTMatrix"): warn about NA's
1745    
1746            * R/Matrix.R (Matrix): also work for NA data
1747    
1748    2006-08-28  Martin Maechler  <maechler@stat.math.ethz.ch>
1749    
1750            * R/Matrix.R (Matrix): + 'forceCheck' argument; dimnames setting
1751            in all cases.
1752    
1753    2006-08-27  Douglas Bates  <bates@R-project.org>
1754    
1755            * src/dense.[ch],init.c, R/ddenseMatrix.R, man/band.Rd
1756            (ddense_band): Added triu, tril and band for ddenseMatrix objects.
1757    
1758    2006-08-25  Martin Maechler  <maechler@stat.math.ethz.ch>
1759    
1760            * src/Mutils.c (dup_mMatrix_as_dgeMatrix): added all subclasses of
1761            subclasses of "ddenseMatrix"
1762            * src/init.c et al: outcomment dtrM*_as_dge* and dsyM*_as_dge*_
1763            * R/ddenseMatrix.R et al: setAs("ddenseMatrix", "dgeMatrix", ..)
1764            instead of half dozen specialized ones.
1765    
1766    2006-08-25  Douglas Bates  <bates@R-project.org>
1767    
1768            * R/lmer.R (qqmath method): Bug fix provided by Emmanuel Tillard
1769            <tillard@cirad.fr> - ordering standard errors to match effects.
1770    
1771    2006-08-24  Douglas Bates  <bates@R-project.org>
1772    
1773            * src/lsCMatrix.c (lsCMatrix_trans): Remove lsCMatrix_chol based
1774            on R_ldl.
1775            * R/lCholCMatrix.R,
1776            src/[dl]CholCMatrix.[ch],R_ldl.[ch],Metis_utils.[ch]: removed
1777            * src/dsCMatrix.c (dsCMatrix_to_dgTMatrix): use CHOLMOD
1778            * many files in ./R and ./src: Use more general version of
1779            dup_mMatrix_as_dgeMatrix to simplify method definitions.
1780            * src/Mutils.c (dup_mMatrix_as_dgeMatrix): Add ddiMatrix,
1781            dtpMatrix, dspMatrix and dppMatrix conversions.
1782    
1783    
1784    2006-08-23  Douglas Bates  <bates@R-project.org>
1785    
1786            * R/AllClass.R,lCholCMatrix.R,src/SOURCES_C.mkf,init.c,NAMESPACE:
1787            Remove classes lCholCMatrix and dCholCMatrix based on R_ldl code.
1788            * src/dgeMatrix.c: Ensure 'factors' slot exists in result of
1789            dgeMatrix_crossprod (may need to do this in other places).
1790            * R/AllGeneric.R,dsCMatrix.R, src/dscMatrix.[ch]: Add Cholesky
1791            generic and method for dsCMatrix.  Use CHOLMOD for chol().
1792    
1793    2006-08-22  Douglas Bates  <bates@R-project.org>
1794    
1795            * src/Mutils.c (dup_mMatrix_as_dgeMatrix): updated for general
1796            types of classed Matrices, matrices or numeric or logical vectors.
1797            * src/init.c: register dup_mMatrix_as_dgeMatrix for coercions.
1798            * src/chm_common.c,Mutils.h (as_cholmod_factor): Move check_class
1799            to Mutils.h (as an inline) and change name to Matrix_check_class;
1800            fixes in as_cholmod_factor and chm_factor_to_SEXP.
1801            * src/dsCMatrix.[ch]: Use CHOLMOD for dsCMatrix_chol and
1802            dsCMatrix_matrix_solve.  Comment out vestigial functions.
1803            * src/Csparse.c: use diag_P and uplo_P macros.
1804    
1805    2006-08-21  Douglas Bates  <bates@R-project.org>
1806    
1807            * src/lmer.c (internal_mer_RZXinv): Fix memory leak caught by
1808            valgrind.
1809            * tests/matprod.R: Add tests to verify that 'solve' and '%*%' are
1810            inverses.
1811            * src/sparseQR.c (sparseQR_validate): add new validation test, fix
1812            -Wall warnings.
1813            * src/dppMatrix.c,dtrMatrix.c,dgCMatrix.c,dgeMatrix.c,dspMatrix.c:
1814            Use dup_mMatrix_as_dgeMatrix.
1815    
1816    2006-08-20  Douglas Bates  <bates@R-project.org>
1817    
1818            * src/sparseQR.c: Fix thinko in sparseQR_resid_fitted.
1819            * tests/sparseQR.R: Added
1820            * man/sparseQR-class.Rd: Document methods for qr.* generics
1821            * R/sparseQR.R: Return correct # of coefs; fix cut-and-paste errors
1822    
1823    2006-08-19  Douglas Bates  <bates@R-project.org>
1824    
1825            * NAMESPACE, R/sparseQR.R, src/init.c,sparseQR.[ch],SOURCES_C.mkf:
1826            Added methods for sparseQR for qr.qy, qr.qty, qr.coef, qr.resid
1827            and qr.fitted.
1828            * src/Mutils.[ch]: Added dup_mMatrix_as_dgeMatrix utility
1829            * src/dgCMatrix.c: Check for ordering before storing q in dgCMatrix_QR
1830    
1831    2006-08-18  Martin Maechler  <maechler@stat.math.ethz.ch>
1832    
1833            * R/AllGeneric.R: add "qr" and "chol" generics; via 'trick' since
1834            the base version has no "..." argument.
1835    
1836            * R/sparseMatrix.R (prSpMatrix): fix the triangular unit diagonal case.
1837    
1838            * R/Matrix.R: define and
1839            * NAMESPACE: export as.numeric() and as.logical() methods.
1840                    Let's hope these do not badly slow down something...
1841            Finally export the zapsmall() method.
1842    
1843    2006-08-17  Douglas Bates  <bates@R-project.org>
1844    
1845            * src/dgCMatrix.[ch] (dgCMatrix_matrix_solve), src/init.c,
1846            R/dgCMatrix.R: solve methods for dgCMatrix and dense RHS.
1847            * src/dtCMatrix.c :Remove code that is no longer used
1848            * R/dtCMatrix.R: Use C code for diagU2N in CsparseMatrix classes
1849    
1850    2006-08-14  Douglas Bates  <bates@R-project.org>
1851    
1852            * src/Csparse.[ch],init.c (Csparse_to_logical): Added utilities
1853            Csparse_to_logical and Csparse_symmetric_to_general.
1854            * R/dgCMatrix.R,dsCMatrix.R,Csparse.R : Consolidate general
1855            coercion methods between CsparseMatrix and TsparseMatrix.
1856    
1857    2006-08-14  Douglas Bates  <bates@R-project.org>
1858    
1859            * R/dtCMatrix.R,dgCMatrix.R,Csparse.R src/init.c,dgCMatrix.[ch],
1860            Csparse.[ch],chm_common.c,dense.c : Use CHOLMOD code and methods
1861            for CsparseMatrix, TsparseMatrix, denseMatrix or matrix when
1862            possible.
1863    
1864    2006-08-12  Douglas Bates  <bates@R-project.org>
1865    
1866            * src/chm_common.[ch],Csparse.[ch],Tsparse.[ch],CHMfactor.c,dtTMatrix.c,
1867              dgTMatrix.c,dgCMatrix.c,dsCMatrix.c,dtTMatrix.c, R/dsTMatrix.R,
1868              Tsparse.R,Csparse.R,dgTMatrix.R,dsCMatrix.R,lsCMatrix.R:
1869              generalize conversions between TsparseMatrix, CsparseMatrix,
1870              denseMatrix and matrix.  Preserve triangularity property and
1871              propagate Dimnames in the easy cases.
1872    
1873    2006-08-10  Douglas Bates  <bates@R-project.org>
1874    
1875            * src/lmer.c: adjust checks in glmer_init for S4SXP
1876            * tests/validObj.R: check of all(eq) should be all(eq@x) - worked
1877            before S4SXP but for the wrong reasons.
1878    
1879    2006-08-08  Douglas Bates  <bates@R-project.org>
1880    
1881            * src/Csparse.c (Csparse_crossprod): tcrossprod result has stype = -1.
1882            Later modified to return the upper triangle only.
1883            * R/dgTMatrix.R: Remove vestigial crossprod and tcrossprod methods.
1884    
1885    2006-08-07  Douglas Bates  <bates@R-project.org>
1886    
1887            * src/Csparse.c (Csparse_crossprod): Set stype on result to avoid
1888            R-level conversion to a sparse symmetric class.
1889            * R/Tsparse.R,R/Csparse.R (crossprod and tcrossprod methods):
1890            Remove conversion to sparse symmetric classes (now done in C code).
1891    
1892    2006-08-07  Martin Maechler  <maechler@stat.math.ethz.ch>
1893    
1894            * R/dgCMatrix.R: disable old crossprod and tcrossprod methods
1895            * man/band.Rd:  adapt the \dontshow{} unit test.
1896    
1897    2006-08-07  Martin Maechler  <maechler@stat.math.ethz.ch>
1898    
1899            * DESCRIPTION (Version): 0.995-14  for CRAN
1900    
1901            * tests/other-pkgs.R: oops: library(Matrix) outside *if* !
1902    
1903            * R/sparseMatrix.R (Tsp2grNEL): fixed Tsparse -> graph coercion
1904            * tests/other-pkgs.R:  more checks, sparseMatrix -> graph
1905    
1906            * R/Auxiliaries.R (as_Tsparse, as_Rsparse): new
1907            * R/Tsparse.R (tril, triu, band): methods
1908            * R/dgRMatrix.R (tril, ...):    ditto
1909            * man/band.Rd:                  ditto
1910    
1911    2006-08-04  Martin Maechler  <maechler@stat.math.ethz.ch>
1912    
1913            * R/Matrix.R (head, tail): directly use utils:::head.matrix
1914                    to be up-to-date automatically.
1915    
1916    2006-08-03  Martin Maechler  <maechler@stat.math.ethz.ch>
1917    
1918            * DESCRIPTION (Version): 0.995-13 to be released to CRAN
1919    
1920            * DESCRIPTION (Lazydata): no, instead of 'yes' because it fails for:
1921            * data/CAex.R, inst/external/CAex_slots.rda: replacing data/CAex.rda
1922            * data/KNex.R, inst/external/KNex_slots.rda: replacing data/KNex.rda
1923            such that the S4 objects are always created by the current version
1924            of R and 'Matrix' class definitions.
1925    
1926    2006-08-01  Douglas Bates  <bates@R-project.org>
1927    
1928            * R/lmer.R (LMEoptimize method), tests/lmer.R,
1929            inst/external/test3comp.rda: Added warnings for convergence on
1930            boundary and test cases.
1931    
1932            * src/lmer.c (mer_postVar): Modified to return the variances that
1933            are marginal to the fixed effects, not conditional on them (which
1934            is what the bVar slot contents represent).
1935    
1936    2006-07-31  Douglas Bates  <bates@R-project.org>
1937    
1938            * NAMESPACE, src/lmer.c, R/lmer.R (hatTrace):  Add the hatTrace
1939            function which calls the C function mer_hat_trace2.
1940    
1941            * man/ranef.Rd: Include description of "postVar" argument and
1942            producing a caterpillar plot.
1943    
1944    2006-07-31  Martin Maechler  <maechler@stat.math.ethz.ch>
1945    
1946            * NAMESPACE:    change  "correlation" to "corMatrix"
1947            * R/AllClass.R: to avoid clash with S3 class in 'nlme'.
1948            * R/dpoMatrix.R: ditto
1949            * R/lmer.R:      ditto
1950    
1951    2006-07-28  Douglas Bates  <bates@R-project.org>
1952    
1953            * src/lmer.c (internal_mer_RZXinv): Split the calculation of the
1954            RZXinv slot's contents into a separate internal function that can
1955            be used in mer_hat_trace.
1956    
1957    2006-07-22  Martin Maechler  <maechler@stat.math.ethz.ch>
1958    
1959            * R/Matrix.R: Coercions "Matrix" -> (sparse|dense)Matrix
1960            via new smart
1961            * R/Auxiliaries.R (as_Csparse, as_dense, .M.shapse): new
1962            utility functions.
1963    
1964    
1965    2006-07-21  Martin Maechler  <maechler@stat.math.ethz.ch>
1966    
1967            * R/Csparse.R (tril, triu, band): do return *triangular* classed
1968            matrices when appropriate; band() even symmetric ones.
1969            (replCmat): extend to potentially all "CsparseMatrix"
1970            * R/Tsparse.R (replTmat): extend to all "TsparseMatrix"; hence
1971            allow subassignment for special sparse matrices.
1972    
1973            * R/Auxiliaries.R (as_geClass): factor out the  .M.kind() functionality
1974    
1975            * src/lmer.c (mer_MCMCsamp, glmer_MCMCsamp): new 'verbose'
1976            argument; in glmer_*(): print only if(verbose).
1977    
1978            speed-optimize a few places by moving REAL(.) out of loops.
1979    
1980            * src/lmer.h, src/init.h, R/lmer.R:  related to above.
1981    
1982    2006-07-20  Martin Maechler  <maechler@stat.math.ethz.ch>
1983    
1984            * R/Matrix.R("["): disable ("Matrix", i = "logical", j = "missing"),
1985                    since that wrongly triggers also for M[ logi , ]
1986    
1987            * R/denseMatrix.R: "[" methods now also work e.g. when indexing
1988            a symmetric matrix that results in a non-symmetric one.
1989            * R/Auxiliaries.R (as_geClass): new function used in "[" above.
1990    
1991            * R/dMatrix.R: make round(M) work as round(M, 0)
1992    
1993            * R/dgTMatrix.R (image): coordinate system and axis now use
1994            1-based indices, not 0-based ones.
1995    
1996            * R/Tsparse.R (.ind.prep for "["): get rid of max(<empty>) warning.
1997            * tests/indexing.R: test it.
1998    
1999            * NAMESPACE: export isSymmetric(); has been a generic in "base" for a while;
2000            * man/isSymmetric-methods.Rd: and document it.
2001    
2002            * R/SparseM-conv.R: added coercion methods for some 'SparseM' matrices.
2003            * man/SparseM-conv.Rd: docu them
2004    
2005            * tests/other-pkgs.R: renamed from tests/graph.R and add example
2006                    for 'SparseM' conversions
2007    
2008    2006-07-17  Douglas Bates  <Douglas.Bates@R-project.org>
2009    
2010            * R/Matrix.R (head): added head() and tail() methods.
2011    
2012    2006-07-17  Martin Maechler  <maechler@stat.math.ethz.ch>
2013    
2014            * DESCRIPTION (Version): 0.995-12 released to CRAN
2015    
2016    2006-07-15  Martin Maechler  <maechler@stat.math.ethz.ch>
2017    
2018            * tests/simple.R: add check for correct dsT -> dgT coercion;
2019                    add check for correct printing of symmetric sparse matrices.
2020    
2021            * R/Auxiliaries.R (non0ind): return *all* non-0 entry indices also
2022            for sparse symmetric matrices.
2023    
2024            * src/dsTMatrix.c (dsTMatrix_as_dgTMatrix): do not copy the
2025            diagonal twice.
2026    
2027    2006-07-11  Douglas Bates  <Douglas.Bates@R-project.org>
2028    
2029            * src/dsTMatrix.c (dsTMatrix_as_dgTMatrix): Fix a case of INTEGER
2030            being applied to the x slot (detected by Brian Ripley).
2031    
2032    2006-07-10  Martin Maechler  <maechler@stat.math.ethz.ch>
2033    
2034            * src/dgCMatrix.c (dgCMatrix_validate): 'p' slot must have correct length.
2035    
2036            * R/Auxiliaries.R (isTriC): fix buglet (we were 1-based!)
2037    
2038    2006-07-08  Martin Maechler  <maechler@stat.math.ethz.ch>
2039    
2040            * src/lgCMatrix.c (lgCMatrix_diag): new function
2041            * R/lgCMatrix.R (diag): for new method
2042    
2043            * R/AllClass.R (TsparseMatrix): do use Tsparse_validate
2044                 ==> construction of illegal "*gTMatrix" via new() should
2045                 now be much less easy:
2046            * tests/Class+Meth.R: assertError() for some illegal "dgT*"
2047    
2048            * R/Matrix.R (Matrix): Matrix(0, nrow,ncol) now "goes sparse"
2049                    directly.
2050            * man/Matrix.Rd: documents it.
2051    
2052    2006-07-06  Douglas Bates  <bates@R-project.org>
2053    
2054            * src/pedigree.c (pedigree_inbreeding): Correction in
2055            initialization.  This function is not currently being used and is
2056            not fully tested.
2057    
2058            * NAMESPACE, R/{AllClass.R,lmer.R}, src/{init.c,lmer.c}:
2059            Introduced the glmer class.  Added code for mcmcmsamp on glmer
2060            objects.  Modified validity check on pedigree objects to account
2061            for nonparallel patterns of missingness of parents.
2062    
2063            * man/{lmer-class.Rd,mcmcsamp.Rd}: Update documentation for glmer
2064            class.
2065    
2066    2006-07-01  Martin Maechler  <maechler@stat.math.ethz.ch>
2067    
2068            * R/pMatrix.R: coercion pMatrix -> Tsparse
2069    
2070    2006-06-12  Douglas Bates  <bates@R-project.org>
2071    
2072            * DESCRIPTION (Version): 0.995-11 released to CRAN
2073    
2074            * R/lmer.R (mcmcsamp method): Corrected arrangments of names on
2075            the output from mcmcsamp.
2076    
2077    2006-06-10  Douglas Bates  <bates@R-project.org>
2078    
2079            * R/lmer.R (simulestimate): added C code for calculating the trace
2080            of the hat matrix.
2081    
2082    2006-06-09  Martin Maechler  <maechler@stat.math.ethz.ch>
2083    
2084            * R/diagMatrix.R (setAs): define coercion methods to sparse matrix
2085            classes.
2086            * R/sparseMatrix.R etc: multiplication of diagonal and sparse
2087    
2088    2006-06-08  Martin Maechler  <maechler@stat.math.ethz.ch>
2089    
2090            * R/dgTMatrix.R (colSums): etc. All four of
2091            colSums(), rowSums(), colMeans(), rowMeans() now should work for
2092            all "Matrices".
2093    
2094    2006-06-01  Douglas Bates  <bates@stat.wisc.edu>
2095    
2096            * R/lmer.R (panel.ci): Add a reference line at zero and a
2097            background grid to the qqmath plot of ranef.lmer.
2098    
2099    2006-05-30  Douglas Bates  <bates@stat.wisc.edu>
2100    
2101            * R/lmer.R (expandSlash): Functions (non-exported) to allow nested
2102            grouping factors to be specified in the formula as (1|foo/bar).
2103    
2104    2006-05-27  Douglas Bates  <bates@stat.wisc.edu>
2105    
2106            * R/lmer.R (findbars and others): Change check of is.numeric to
2107            !is.language to resolve the bug reported by Jacob Wegelin.
2108    
2109            * src/pedigree.c (pedigree_inbreeding): Initial implementation of
2110            code to evaluate inbreeding coefficients without calculating T,
2111            based on code in Sargolzaei and Iwaisaki's paper.
2112    
2113    2006-05-27  Douglas Bates  <bates@stat.wisc.edu>
2114    
2115            * R/{lmer.R,AllGeneric.R}, src/{init.c,lmer.[ch]}: Added local
2116            generic and mer methods for isNested and denomDF. This denomDF was
2117            an attempt to emulate that in lme but I don't think that makes
2118            sense.  Use the trace of the hat matrix instead.
2119    
2120    2006-05-17  Martin Maechler  <maechler@stat.math.ethz.ch>
2121    
2122            * R/sparseMatrix.R: Matrix <-> graph methods: can no longer use
2123            the C code depending on a slot structure that's no longer valid.
2124            * src/dgTMatrix.c: ditto (also: src/init.c src/dgTMatrix.h)
2125    
2126    
2127    2006-05-17  Douglas Bates  <bates@stat.wisc.edu>
2128    
2129            *  R/{AllGeneric.R,Csparse.R},man/band.Rd,NAMESPACE: changed name
2130            of lowerTriMatrix generic and methods to tril (also upper to triu)
2131            and added a general band extractor.
2132    
2133    2006-05-16  Douglas Bates  <bates@stat.wisc.edu>
2134    
2135            * R/pedigree.R (pedigree): Replace sire and dam values outside the
2136            allowable range with NAs. Added a corresponding check in the
2137            validity check for the pedigree class.
2138    
2139            * R/[CT]sparse.R ([t]crossprod): The result of single-argument
2140            crossprod methods now inherits from symmetricMatrix.
2141    
2142    2006-05-15  Douglas Bates  <bates@stat.wisc.edu>
2143    
2144            * R/AllGeneric.R (lowerTriMatrix): Added (but did not export)
2145            generics lowerTriMatrix and upperTriMatrix along with methods for
2146            the Csparse virtual class.  Also added a C function Csparse_band
2147            that implements these methods by calling cholmod_band.
2148    
2149    2006-05-15  Martin Maechler  <maechler@stat.math.ethz.ch>
2150    
2151            * R/Tsparse.R ("["): column or row subsetting; @Dimnames[k] got
2152            erased when it was NULL.  This led to invalid subselections!
2153    
2154    2006-04-25  Douglas Bates  <bates@stat.wisc.edu>
2155    
2156            * R/dtCMatrix.R: avoid coercion of dtCMatrix object to dgCMatrix
2157            in method for "t" so as not to lose the unit diagonal property.
2158    
2159    2006-04-19  Douglas Bates  <bates@stat.wisc.edu>
2160    
2161            * R/lmer.R, R/AllGeneric.R, NAMESPACE: Remove the postVar generic
2162            and methods.  This is now an option to the ranef method for the
2163            mer class.
2164    
2165            * src/cs_utils.c: Ensure that the nz component is -1 for a
2166            compressed column-oriented matrix.  Minor formatting cleanup.
2167    
2168            * man/lmer-class.Rd: Document the qqmath method for ranef.lmer
2169            objects.
2170    
2171    2006-04-19  Martin Maechler  <maechler@stat.math.ethz.ch>
2172    
2173            * R/Auxiliaries.R (diagU2N): new for the solve() methods in
2174            * R/dtCMatrix.R: where dgC -> dgT coercion now preserves diag = "U".
2175    
2176    2006-04-15  Douglas Bates  <bates@stat.wisc.edu>
2177    
2178            * src/cs.[ch],src/cs_utils.[ch] : Added Tim Davis' CSparse library
2179            in cs.[ch] and utilities to interface to that code in cs_utils.[ch].
2180    
2181            * R/dtCMatrix.R, src/dtCMatrix.[ch] : CSparse-based solve methods
2182            for the dtCMatrix class.
2183    
2184    2006-04-12  Douglas Bates  <bates@stat.wisc.edu>
2185    
2186            * R/pedigree.R, R/AllClass.R, NAMESPACE: added a pedigree class
2187            and methods for it.
2188    
2189    2006-04-12  Martin Maechler  <maechler@stat.math.ethz.ch>
2190    
2191            * R/dgCMatrix.R: add  storage.mode(.) <- "double" for "matrix"
2192            arguments, such that M %*% 1:6 now works
2193            * Tests/matprod.R: test the above
2194    
2195    2006-04-03  Douglas Bates  <bates@stat.wisc.edu>
2196    
2197            * R/lmer.R (qqmath,ranef.lmer-method): added a qqmath method for
2198            the ranef.lmer class.
2199    
2200            * R/AllClass.R, NAMESPACE, R/lmer.R: Added a postVar generic and
2201            methods to extract the posterior variances from the bVar slot.
2202    
2203    2006-03-30  Martin Maechler  <maechler@stat.math.ethz.ch>
2204    
2205            * R/dtCMatrix.R: allow coercion from  dgC* to triangular (dtC*)
2206            * R/dsCMatrix.R: and symmetric (dsC*) 'Csparse' matrices.
2207    
2208            * R/Tsparse.R: Tsparse* -> Csparse* coercion now works and is tested in
2209            * tests/simple: (extended)
2210    
2211            * R/sparseMatrix.R (isTriangular): now using much improved
2212            * R/Auxiliaries.R (isTriC): new triangularity check for *CMatrix
2213    
2214    2006-03-23  Douglas Bates  <bates@stat.wisc.edu>
2215    
2216            * src/dsyMatrix.c (dsyMatrix_as_dspMatrix): Propagate DimNames
2217            (problem report from Franklin Parlamis).  This should be done
2218            generally.
2219    
2220    2006-03-21  Douglas Bates  <bates@stat.wisc.edu>
2221    
2222            * R/AllClass.R,lmer.R: Change the name of the lmer.ranef class to
2223            ranef.lmer (like summary.lmer).  Add the coef.lmer class and
2224            update the plot methods.
2225    
2226    2006-03-20  Douglas Bates  <bates@stat.wisc.edu>
2227    
2228            * R/lmer.R (resid and ranef methods):  Added methods for the
2229            "residuals" and "resid" generic but only for linear mixed model
2230            fits.  Changed the ranef method to return a list of data frames so
2231            that the plot methods now work.
2232    
2233    2006-03-16  Douglas Bates  <bates@bates2>
2234    
2235            * src/dpoMatrix.c (dpoMatrix_chol): Require n > 0 in call to
2236            dpotrf - otherwise the BLAS on Mac OS X complains and quits.
2237    
2238            * DESCRIPTION (Date): New release
2239    
2240    2006-03-15  Martin Maechler  <maechler@stat.math.ethz.ch>
2241    
2242            * DESCRIPTION (Version): 0.995-6  -- to be released to CRAN
2243    
2244            * data/KNex.rda: replacing 'mm' and 'y' by KNex <- list(mm=mm, y=y)
2245            * man/KNex.Rd: and other help files
2246            * tests/*.R: several ones needed adaption
2247            * inst/doc/Comparisons.Rnw: ditto
2248    
2249    2006-03-11  Martin Maechler  <maechler@stat.math.ethz.ch>
2250    
2251            * R/dgCMatrix.R (replCmat): "[<-" methods for dgCMatrix
2252    
2253            * tests/indexing.R: tests for new [<- methods for sparse matrices.
2254    
2255    2006-03-10  Martin Maechler  <maechler@stat.math.ethz.ch>
2256    
2257            * R/dgTMatrix.R (replTmat): "[<-" methods for dgTMatrix
2258    
2259            * R/Tsparse.R (.ind.prep): fix out-of-range indexing
2260    
2261    2006-03-08  Martin Maechler  <maechler@stat.math.ethz.ch>
2262    
2263            * R/dMatrix.R: enable things like  M [ M < 10 ]
2264            * R/dgeMatrix.R: implement it
2265    
2266    2006-03-06  Martin Maechler  <maechler@stat.math.ethz.ch>
2267    
2268            * R/AllClass.R: define "summary.mer" and "*.lmer"
2269            * R/lmer.R (summary): summary(<mer>) computes & returns the above;
2270            * R/lmer.R (show): now works with summary()
2271    
2272    2006-03-04  Martin Maechler  <maechler@stat.math.ethz.ch>
2273    
2274            * R/dgCMatrix.R: finally direct "Arith"  dgC o dgC
2275            * R/Auxiliaries.R (WhichintersectInd): and other utilities to
2276                    support the above
2277    
2278    2006-02-07  Douglas Bates  <bates@stat.wisc.edu>
2279    
2280            * R/lmer.R (lmer): fix initial values of offset and weights for glm.fit.
2281            Use glmFit$prior.weights for weights in a glmm.
2282            Allow an option usePQL = FALSE to skip the PQL steps for the
2283            Laplace method (and, in time, the AGQ method).
2284    
2285            * src/lmer.c (mer_factor): Move downdating and factoring of XtX
2286            into a separate function internal_mer_Xfactor to be able to call
2287            it from internal_bhat.
2288    
2289    2006-01-23  Martin Maechler  <maechler@stat.math.ethz.ch>
2290    
2291            * tests/Class+Meth.R (tstMatrixClass): function for much better
2292            testing; now again of all actual classes.
2293    
2294            * src/Mutils.c (MAKE_TRIANGULAR_BODY, MAKE_SYMMETRIC_BODY):
2295                    use macros and define make_d_matrix_* and make_i_matrix_*
2296                    where _i_ is for the ldense routines:
2297    
2298            * src/ldense.c (ltrMatrix_as_lgeMatrix): provide functions
2299            * src/ldense.c (lsyMatrix_as_lgeMatrix):
2300    
2301            * R/ldenseMatrix.R: use the above in setAs(*,"lgeMatrix")
2302    
2303    
2304    2006-01-16  Martin Maechler  <maechler@stat.math.ethz.ch>
2305    
2306            * R/Matrix.R (Matrix): has become much "smarter" now auto-producing
2307                    many different kinds of matrices.
2308            * R/*.R: quite a few new methods were needed for R CMD check with
2309                    new Matrix().  Very good for users playing around.
2310    
2311    
2312    2006-01-15  Martin Maechler  <maechler@stat.math.ethz.ch>
2313    
2314            * src/dgeMatrix.c (dMatrix_validate): new
2315            * src/Mutils.c (dense_nonpacked_validate): new
2316    
2317            * src/dtrMatrix.c (dtrMatrix_validate): improved/fixed
2318    
2319    
2320    2006-01-14  Douglas Bates  <bates@stat.wisc.edu>
2321    
2322            * R/AllClass.R (compMatrix), (generalMatrix): new virtual classes
2323    
2324    2006-01-07  Douglas Bates  <bates@stat.wisc.edu>
2325    
2326            * DESCRIPTION (Version): 0.99-6 released to CRAN
2327    
2328            * src/dgBCMatrix.c (cscb_trcbsm): Fix due to Peter Dalgaard for
2329            segfault in cases with multiple non-nested grouping factors.
2330    
2331    2006-01-03  Martin Maechler  <maechler@stat.math.ethz.ch>
2332    
2333            * DESCRIPTION (Version): 0.99-4 to be released to CRAN
2334                    (Depends): also on 'utils'
2335    
2336            * R/AllClass.R (diagonalMatrix): new class with "ddi*" and "ldi*"
2337            * R/diagMatrix.R (Diagonal): constructor and methods for
2338            diagonal matrices
2339    
2340            * R/ltTMatrix.R: new "minimal methods"
2341    
2342    2005-12-12  Martin Maechler  <maechler@stat.math.ethz.ch>
2343    
2344            * R/AllGeneric.R (tcrossprod): 2-argument version; here, and for
2345            all methods (and help files).
2346    
2347    2005-12-09  Martin Maechler  <maechler@stat.math.ethz.ch>
2348    
2349            * R/Auxiliaries.R (dimNamesCheck): fixed thinko -> bug
2350                    for case (dimn.  op  no_dimn.)
2351    
2352    2005-11-14  Douglas Bates  <bates@stat.wisc.edu>
2353    
2354            * DESCRIPTION (Version): 0.99-2  released to CRAN
2355    
2356    2005-10-21  Douglas Bates  <bates@stat.wisc.edu>
2357    
2358            * R/lmer.R (simulate method): Fixed a drop=FALSE problem reported
2359            by Julian Faraway.
2360    
2361    2005-10-06  Martin Maechler  <maechler@stat.math.ethz.ch>
2362    
2363            * R/Auxiliaries.R (try_as): new utility
2364            * R/sparseMatrix.R: use try_as() in coercion to original class
2365    
2366    2005-09-30  Martin Maechler  <maechler@stat.math.ethz.ch>
2367    
2368            * src/dgCMatrix.c (double_to_csc): and dgeMatrix_to_csc()
2369    
2370    2005-09-29  Martin Maechler  <maechler@stat.math.ethz.ch>
2371    
2372            * R/Auxiliaries.R (dimNamesCheck): added
2373    
2374            * R/Matrix.R (as.array), (as.vector): new
2375    
2376    2005-09-28  Martin Maechler  <maechler@stat.math.ethz.ch>
2377    
2378            * R/Matrix.R (Matrix): get logical argument 'sparse' with a smart
2379                    default.
2380            * R/AllClass.R: move 'factors' slot toplevel "Matrix";
2381                    "pMatrix" now contains "sparseMatrix"
2382    
2383    2005-09-26  Martin Maechler  <maechler@stat.math.ethz.ch>
2384    
2385            * tests/Class+Meth.R: new tests; t(t(m)) == m
2386    
2387            * src/dtCMatrix.c (tsc_transpose): add forgotten "diag" slot
2388    
2389            * src/dsTMatrix.c (dsTMatrix_as_dsCMatrix): bad typo (segfault!)
2390            * src/dtTMatrix.c (dtTMatrix_as_dtCMatrix): new
2391    
2392            * R/dspMatrix.R: typo in "t" method
2393    
2394    2005-09-18  Douglas Bates  <bates@wisc.edu>
2395    
2396            * R/AllClass.R (TsparseMatrix), CsparseM* and RsparseM*
2397            * R/Tsparse.R: instead of R/gTMatrix.R
2398            * R/Csparse.R: new
2399            * src/Tsparse.c (Tsparse_to_Csparse): new; -> cholmod_()
2400            * src/Tsparse.c: new; many trivial methods calling cholmod_()
2401            * src/Csparse.c (Csparse_to_Tsparse), transpose, (mat|cross)prod:
2402                            via cholmod
2403    
2404    2005-09-16  Martin Maechler  <maechler@stat.math.ethz.ch>
2405    
2406            * R/Auxiliaries.R (non0ind): new function using new C code
2407            * src/dgCMatrix.c (compressed_non_0_ij): new utility
2408    
2409    2005-09-15  Douglas Bates  <bates@localhost.localdomain>
2410    
2411            * src/chm_common.h: header file required by all C sources that
2412            call CHOLMOD functions.  It defines a cholmod_common structure
2413            called 'c' whose address is passed as the last argument to
2414            (virtually) every CHOLMOD function.
2415    
2416            * src/Pattern.c: Simple example of the use of CHOLMOD.
2417    
2418            * src/init.c: initialize and finalize the cholmod_common structure.
2419    
2420            * src/Makefile: Added source packages CHOLMOD UMFPACK AMD COLAMD
2421            LDL and CCOLAMD from the U. of Florida sparse matrix library.
2422    
2423    2005-09-08  Martin Maechler  <maechler@stat.math.ethz.ch>
2424    
2425            * inst/test-tools.R: new file collecting the utility functions used
2426                    in ./tests/*.R
2427    
2428            * R/ddenseMatrix.R (cbind2): new methods for "numeric" and "matrix"
2429            * R/Matrix.R (cbind2): methods for NULL and missing
2430    
2431    2005-08-31  Martin Maechler  <maechler@stat.math.ethz.ch>
2432    
2433            * R/AllClass.R: new "index" class for "[" and "[<-":
2434                    First cut at "symmetricMatrix" and "triangularMatrix"
2435            * R/gTMatrix.R (.ind.prep): new function;
2436                    Logical and character indexing now work too.
2437            * R/Matrix.R: cheap "[<-" methods for denseMatrix now work
2438            * tests/indexing.R: new, including *.Rout.save
2439            * tests/dgTMatrix.R: new
2440    
2441    2005-08-29  Douglas Bates  <bates@wisc.edu>
2442    
2443            * src/dgTMatrix.c (graphNEL_as_dgTMatrix): Corrected the position
2444            indicator pos not being updated.  Also enforced upper triangular
2445            for symmetric case.  Need to coerce edges component of elements of
2446            edge list - grr! (Why don't they define their classes cleanly?)
2447    
2448    2005-08-26  Martin Maechler  <maechler@stat.math.ethz.ch>
2449    
2450            * R/Matrix.R:  added first "[<-" methods; not yet functional
2451            * R/denseMatrix.R: ditto
2452            * man/Subassign-methods.Rd: new help file for these
2453    
2454    2005-08-25  Martin Maechler  <maechler@stat.math.ethz.ch>
2455    
2456            * DESCRIPTION (Version): 0.98-6
2457    
2458            * R/denseMatrix.R: new file for "[" fallback methods for all dense
2459            matrices.
2460    
2461    2005-08-19  Martin Maechler  <maechler@stat.math.ethz.ch>
2462    
2463            * src/lgCMatrix.c (lcsc_to_matrix): new; need for
2464                    as( <logical>, "matrix")
2465    
2466            * R/pMatrix.R: coercion to "lgTMatrix"
2467    
2468            * R/gTMatrix.R: new virtual class to define "[" methods for.
2469            * man/gTMatrix-class.Rd:
2470            * General slight re-organization of where "[" methods are defined.
2471              more to come.
2472    
2473    2005-08-18  Douglas Bates  <bates@wisc.edu>
2474    
2475            * DESCRIPTION (Version): 0.98-5  released to CRAN
2476    
2477            * src/dgTMatrix.c (graphNEL_as_dgTMatrix): add first graphNEL methods
2478            * .....
2479    
2480    2005-08-18  Douglas Bates  <bates@localhost.localdomain>
2481    
2482            * R/lmer.R: Corrected naming scheme in mcmcsamp to work with lmer
2483            or glmer objects.
2484    
2485    2005-08-17  Martin Maechler  <maechler@stat.math.ethz.ch>
2486    
2487            * DESCRIPTION (Version): 0.98-4 : upload to CRAN
2488    
2489    2005-08-16  Douglas Bates  <bates@localhost.localdomain>
2490    
2491            * R/HBMM.R: finish re-writing R-only code.
2492    
2493    2005-08-15  Douglas Bates  <bates@localhost.localdomain>
2494    
2495            * man/externalFormats.Rd: move documentation for writeHB and
2496            writeMM here.
2497    
2498            * src/mmio.c: replace inclusion of <malloc.h> by <stdlib.h>
2499            (suggested by Paul Roecker).
2500    
2501            * tests/validObj.R (assertError): Comment out test that is failing
2502            after recent changes in r-devel.
2503    
2504    
2505    2005-08-11  Martin Maechler  <maechler@stat.math.ethz.ch>
2506    
2507            * R/AllClass.R: intermediate virtual class "denseMatrix"
2508            * man/denseMatrix-class.Rd
2509            * NAMESPACE: export it, and also export
2510            * man/unused-classes.Rd: "iMatrix", "zMatrix" and "ldenseMatrix"
2511    
2512    2005-08-10  Douglas Bates  <bates@wisc.edu>
2513    
2514            * DESCRIPTION (Version): 0.98-3 to CRAN
2515    
2516            * src/dtrMatrix.c (dtrMatrix_validate): fixed up validation and
2517            matrix_solve code (which was really, really wrong).
2518    
2519    2005-08-07  Douglas Bates  <bates@wisc.edu>
2520    
2521            * DESCRIPTION (Version): 0.98-2
2522    
2523            * R/HBMM.R (readHB), (readMM): read Matrix Market formats
2524    
2525            * R/lmer.R (abbrvNms): new
2526            * R/lmer.R (mcmcsamp): allow transformed parameters
2527            * src/HBMM.c (Matrix_writeMatrixMarket): Added read/write routines
2528            for the Harwell-Boeing and the MatrixMarket formats.
2529    
2530    2005-08-04  Martin Maechler  <maechler@stat.math.ethz.ch>
2531    
2532            * man/dtrMatrix-class.Rd: add examples
2533            * man/dtpMatrix-class.Rd: ditto; plus note about PROBLEM
2534    
2535            * TODO: note the dtpMatrix (docu) bug
2536    
2537            * R/zzz.R (.onLoad): assignInNamespace("as.matrix", *, "base")
2538            in order to ensure that new as.matrix() is used by old functions,
2539            e.g., svd(), qr(), eigen(), dist(),..;
2540                  apply(), also matplot() or pairs().
2541    
2542    
2543    2005-08-03  Martin Maechler  <maechler@stat.math.ethz.ch>
2544    
2545            * R/lmer.R: add 'fixme' comments and move the linear vs glm check;
2546              add comments about 'control' / lmerControl() arguments
2547    
2548    2005-07-27  Douglas Bates  <bates@wisc.edu>
2549    
2550            * man/sleepstudy.Rd: Added the sleep data set.
2551            * DESCRIPTION (Version): 0.98-1  released to CRAN
2552    
2553    2005-07-12  Douglas Bates  <bates@wisc.edu>
2554            * man/sleepstudy.Rd: Added the sleep data set.
2555    
2556            * R/lmer.R (glmmMCMC): Added PACKAGE = "Matrix" in a couple of
2557            .Call calls that were producing spurious output.
2558    
2559    2005-07-05  Douglas Bates  <bates@wisc.edu>
2560    
2561            * R/lmer.R (lmer): stored updated variance component estimates in
2562            mer object for the generalized model.  (Bug reported by Renaud
2563            Lancelot).
2564    
2565    2005-07-03  Douglas Bates  <bates@wisc.edu>
2566    
2567            * src/lmer.c (glmer_devAGQ): Added AGQ for single grouping factor,
2568            unidimensional case.
2569    
2570    2005-06-08  Douglas Bates  <bates@wisc.edu>
2571    
2572            * DESCRIPTION (Version): 0.96-1
2573    
2574            * moved  lmer-class' R and C code moved from lme4 to here
2575    
2576    2005-06-04  Douglas Bates  <bates@wisc.edu>
2577    
2578            * R/dgCMatrix.R: Call to csc_matrix_mm used undefined arguments
2579            (reported by Guissepe Ragusa <gragusa@ucsd.edu>)
2580    
2581    2005-06-02  Douglas Bates  <bates@wisc.edu>
2582    
2583            * src/Makefile.win: Forgot to update this when Makefile changed.
2584    
2585    2005-05-11  Douglas Bates  <bates@wisc.edu>
2586    
2587            * src/dgCMatrix.c (csc_transpose): Simplified function fixing a
2588            bug reported by Kurt Hornik and Michael Hahsler.
2589    
2590    2005-05-10  Douglas Bates  <bates@wisc.edu>
2591    
2592            * src/lgCMatrix.c (Matrix_lgClgCmm): Implementation of methods for
2593            logical sparse matrices.  These will also be used in the symbolic
2594            analysis for lmer objects.
2595    
2596            * src/dsCMatrix.c (dsCMatrix_matrix_solve): Copied the dimensions
2597            of b to the result.  Fixes bug reported by Jean.Coursol@math.u-psud.fr
2598    
2599    2005-05-06  Douglas Bates  <bates@wisc.edu>
2600    
2601            * src/dgeMatrix.c (dgeMatrix_colsums): Added an implementation of
2602            colMeans, colSums, rowMeans and rowSums.
2603    
2604    2005-04-18  Douglas Bates  <bates@wisc.edu>
2605    
2606            * src/lgCMatrix.[ch]: code for _validate method and stub for
2607            multiplication operation.
2608    
2609            * src/dgeMatrix.c (dgeMatrix_matrix_solve): Passing wrong argument
2610            to dgetrs.
2611    
2612            * src/init.c: Fix cut-and-paste error in definition of
2613            dgeMatrix_matrix_solve
2614    
2615            * src/{many files}: Tighten code by using ALLOC_SLOT.
2616    
2617    2005-04-15  Douglas Bates  <bates@wisc.edu>
2618    
2619            * R/AllClass.R: Add lgTMatrix and lgCMatrix classes
2620    
2621            * DESCRIPTION: Eliminate import of stats.
2622    
2623    
2624    2005-04-06  Douglas Bates  <bates@wisc.edu>
2625    
2626            * R/AllClass.R : add logical sparse matrix classes
2627    
2628    2005-04-01  Martin Maechler  <maechler@stat.math.ethz.ch>
2629    
2630            * R/dgTMatrix.R: add "[" method for triplet matrices
2631            * R/sparseMatrix.R: and other sparse ones; --> add show() for sparse
2632    
2633    2005-03-31  Douglas Bates  <bates@wisc.edu>
2634    
2635            * DESCRIPTION (Version): release 0.95-5 to CRAN
2636    
2637            * R/dMatrix.R: add %*%, crossprod and solve "fallback" methods
2638            * R/sparseMatrix.R: %*%, crossprod()
2639            * R/dgeMatrix.R: more "fallback" methods for numeric/dense matrices
2640            * man/*.Rd: move method definitions to 'Matrix' and 'dMatrix'
2641            * src/lmer.c (lmer_fitted): fix thinko
2642    
2643    2005-03-26  Martin Maechler  <maechler@stat.math.ethz.ch>
2644    
2645            * R/AllClass.R: add two virtual sparse classes ``on top''
2646    
2647    2005-03-24  Martin Maechler  <maechler@stat.math.ethz.ch>
2648    
2649            * R/AllClass.R (setClass): use "VIRTUAL" for the virtual classes;
2650                    correspondingly fix examples and tests/ since new()
2651                    doesn't work for virtual classes.
2652    
2653    2005-03-17  Martin Maechler  <maechler@stat.math.ethz.ch>
2654    
2655            * R/Matrix.R (as.matrix): method and one for unname()
2656            * tests/dpoMatrix.R: tests should now be less platform dependent;
2657              also run for R 2.1.0; using as.matrix()
2658    
2659    2005-03-15  Douglas Bates  <bates@wisc.edu>
2660    
2661            * R/pMatrix.R: "pMatrix" class added
2662            * ....
2663    
2664    2005-03-14  Douglas Bates  <bates@wisc.edu>
2665    
2666            * R/dtpMatrix.R: Add unpack method and an example.
2667    
2668            * src/dsyMatrix.c (dsyMatrix_trf): Add BunchKaufman factorization
2669            of general symmetric matrices and associated S4 methods.
2670    
2671    2005-03-10  Martin Maechler  <maechler@stat.math.ethz.ch>
2672            +
2673    2005-03-05  Martin Maechler  <maechler@stat.math.ethz.ch>
2674    
2675            * R/dgeMatrix.R (setAs): and many other files: more coercion,
2676              crossprod() and "%*%" methods added; tests, too.
2677            * tests/matprod.R: new, for testing these
2678    
2679    2005-03-03  Douglas Bates  <bates@wisc.edu>
2680    
2681            * src/lmer.c (lmer_fitted): Added.
2682    
2683    2005-03-02  Douglas Bates  <bates@wisc.edu>
2684    
2685            * R/dsTMatrix.R: Conversion from dsTMatrix to dsCMatrix
2686    
2687    2005-02-28  Douglas Bates  <bates@wisc.edu>
2688    
2689            * src/*.c,po/,inst/po: Internationalization and localization of
2690            the package.
2691    
2692            * src/ldl.[ch]: Removed these as their contents are referenced in the
2693            R_ldl.c file.
2694    
2695            * src/flame.[ch]: Removed these source files.
2696    
2697            * src/dtrMatrix.c (make_array_triangular): Move to Mutils
2698    
2699            * src/LU.[ch],src/init.c: absorb in factorizations
2700    
2701            * src/Mutils.h: prepare for internationalization
2702    
2703            * src/cblas.h: move the enum definitions to Mutils.h and remove
2704            this file
2705    
2706    2005-02-26  Martin Maechler  <maechler@stat.math.ethz.ch>
2707    
2708            * R/dgeMatrix.R: provide "dimnames" and "dimnames<-" methods
2709    
2710            * R/dtrMatrix.R: fix t() method
2711    
2712            * R/dgeMatrix.R: define group methods "Arith", "Math", "Math2"
2713            * NAMESPACE: export them (and import generics from "methods")
2714            * tests/group-methods.R : and test them.
2715    
2716            * src/dtrMatrix.c (dtrMatrix_as_dgeMatrix): prevent seg.fault in
2717            border case
2718    
2719    2005-02-24  Douglas Bates  <bates@stat.wisc.edu>
2720    
2721            * DESCRIPTION (Version): 0.95-2  released to CRAN
2722    
2723            * src/dgBCMatrix.c:
2724            * src/lmer.c: many changes
2725            * ...
2726    
2727    2005-02-04  Martin Maechler  <maechler@stat.math.ethz.ch>
2728    
2729            * R/Matrix.R: add more sophisticated show() method.
2730    
2731    2005-02-02  Douglas Bates  <bates@stat.wisc.edu>
2732    
2733            * */* : almost complete reorganization of classes.
2734    
2735    2005-01-26  Douglas Bates  <bates@wisc.edu>
2736    
2737            * R/AllGeneric.R: Added matrix exponential generic expm and a method
2738            for the geMatrix class.
2739    
2740    2005-01-24  Douglas Bates  <bates@wisc.edu>
2741    
2742            * src/Makefile (clean): Remove *.a and *.so
2743    
2744            * man/cscBlocked-class.Rd: Remove reference to the lmer-class.
2745    
2746    2005-01-23  Douglas Bates  <bates@wisc.edu>
2747    
2748            * src/lmer.c (Lind): Definition of Lind was backwards.  This only
2749            had an effect in cases with more than 2 grouping factors.
2750    
2751    2005-01-03  Douglas Bates  <bates@wisc.edu>
2752    
2753            * src/lmeRep.c (lmer_variances): change from lmeRep to lmer
2754    
2755    2004-12-23  Douglas Bates  <bates@wisc.edu>
2756    
2757            * src/init.c (R_init_Matrix): Reorder calls to R_registerRoutines
2758            and R_useDynamicSymbols (suggested by B.D.Ripley).
2759    
2760    2004-12-14  Douglas Bates  <bates@wisc.edu>
2761    
2762            * R/sscMatrix.R: Add determinant methods
2763    
2764            * src/triplet.[ch],src/init.c (triplet_to_matrix): Add a coercion
2765            for tripletMatrix to matrix.
2766    
2767    2004-12-13  Douglas Bates  <bates@wisc.edu>
2768    
2769            * R/AllClass.R (.onLoad): Eliminate the bbCrosstab class, which is
2770            no longer used.
2771    
2772          * src/R_ldl.c: Created an R-specific version of the ldl.[ch] files          * src/R_ldl.c: Created an R-specific version of the ldl.[ch] files
2773          with dynamic allocation of scratch arrays.          with dynamic allocation of scratch arrays.
# Line 7  Line 2776 
2776          for multivariate random effects with multiple grouping factors.          for multivariate random effects with multiple grouping factors.
2777          Fixes part but not all of #15.          Fixes part but not all of #15.
2778    
2779  2004-12-03  Douglas Bates  <bates@bates1-home>  2004-12-03  Douglas Bates  <bates@wisc.edu>
2780    
2781          * src/lmeRep.c (lmeRep_factor): order of operations for multiple          * src/lmeRep.c (lmeRep_factor): order of operations for multiple
2782          scalar grouping factors corrected.          scalar grouping factors corrected.
2783    
2784  2004-11-29  Douglas Bates  <bates@bates1-home>  2004-11-29  Douglas Bates  <bates@wisc.edu>
2785    
2786          * src/bCrosstab.c: remove diag_update which is no longer used          * src/bCrosstab.c: remove diag_update which is no longer used
2787    
2788  2004-11-16  Douglas Bates  <bates@bates1-home>  2004-11-16  Douglas Bates  <bates@wisc.edu>
2789    
2790          * src/Metis_utils.c: Move metis.h include to C sources so that the          * src/Metis_utils.c: Move metis.h include to C sources so that the
2791          .h file can be included.          .h file can be included.
2792    
2793  2004-11-12  Douglas Bates  <bates@bates1-home>  2004-11-12  Douglas Bates  <bates@wisc.edu>
2794    
2795          * src/LU.c,geMatrix.c,trMatrix.c, etc.:          * src/LU.c,geMatrix.c,trMatrix.c, etc.:
2796          Complete allocation of slots in NEW_OBJECT.          Complete allocation of slots in NEW_OBJECT.
2797    
2798          * src/Mutils.h: Moved list of symbols to an include file          * src/Mutils.h: Moved list of symbols to an include file
2799    
2800  2004-11-11  Douglas Bates  <bates@bates1-home>  2004-11-11  Douglas Bates  <bates@wisc.edu>
2801    
2802          * src/geMutils.c (Matrix_init): remove unused function          * src/geMutils.c (Matrix_init): remove unused function
2803    
2804  2004-11-10  Douglas Bates  <bates@bates1-home>  2004-11-10  Douglas Bates  <bates@wisc.edu>
2805    
2806          * src/cscMatrix.c (csc_to_imagemat): removed unused function          * src/cscMatrix.c (csc_to_imagemat): removed unused function
2807    
2808  2004-11-05  Douglas Bates  <bates@bates1-home>  2004-11-05  Douglas Bates  <bates@wisc.edu>
2809    
2810          * src/Makefile.win (SOURCES_C): Keep consistent with Makefile          * src/Makefile.win (SOURCES_C): Keep consistent with Makefile
2811    
2812  2004-10-27  Douglas Bates  <bates@bates1-home>  2004-10-27  Douglas Bates  <bates@wisc.edu>
2813    
2814          * R/pdmatrix.R: remove PACKAGE="Matrix" in .Call calls          * R/pdmatrix.R: remove PACKAGE="Matrix" in .Call calls
2815    
2816  2004-10-04  Douglas Bates  <bates@bates1-home>  2004-10-04  Douglas Bates  <bates@wisc.edu>
2817    
2818          * src/init.c: Created R_init_Matrix and added registration of C          * src/init.c: Created R_init_Matrix and added registration of C
2819          routines.          routines.
2820    
2821  2004-10-02  Douglas Bates  <bates@bates1-home>  2004-10-02  Douglas Bates  <bates@wisc.edu>
2822    
2823          * R/tripletMatrix.R: Force a require(lattice) for the image methods.          * R/tripletMatrix.R: Force a require(lattice) for the image methods.
2824    
2825  2004-06-15  Douglas Bates  <bates@bates7>  2004-06-15  Douglas Bates  <bates@wisc.edu>
2826    
2827          * man/trMatrix-class.Rd: Escape the % chars in .Rd files.          * man/trMatrix-class.Rd: Escape the % chars in .Rd files.
2828    

Legend:
Removed from v.388  
changed lines
  Added in v.2188

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