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

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

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