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

Legend:
Removed from v.726  
changed lines
  Added in v.2250

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