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 835, Mon Aug 8 13:33:18 2005 UTC revision 1932, Fri Jun 29 16:43:47 2007 UTC
# Line 1  Line 1 
1    2007-06-29  Martin Maechler  <maechler@stat.math.ethz.ch>
2    
3            * DESCRIPTION (Version): 0.99875-3 ready to be released.
4    
5            * R/sparseMatrix.R (spMatrix): make spMatrix(3,4) working
6    
7            * R/AllGeneric.R: set "Math" (and "Math2") group generics in a way
8            that should also work in a future version of R.
9    
10    2007-06-21  Martin Maechler  <maechler@stat.math.ethz.ch>
11    
12            * NAMESPACE, R/AllClass.R: "xsparseVector" class union.
13    
14            * R/sparseVector.R: more *sparseVector coercions, notably for
15            non - double ones.
16    
17    2007-06-19  Martin Maechler  <maechler@stat.math.ethz.ch>
18    
19            * R/colSums.R: new file for all (col|row)(Sums|Means) methods,
20              notably the new ones building on the new .Call(.)s:
21    
22            * src/dgCMatrix.c (DEF_gCMatrix_COLSUMS): use to define
23            all 4 of [dlin]gCMatrix_colSums().
24    
25    2007-06-18 16:12  Douglas Bates <bates@stat.wisc.edu>
26    
27            * [r4472] src/Syms.h, src/init.c: Added Matrix_lengthSym
28            * [r4473] src/dgCMatrix.c: Modified dgCMatrix_colSums for sparseVector
29              result
30    
31    2007-06-16  Martin Maechler  <maechler@stat.math.ethz.ch>
32    
33            * R/kronecker.R: fix typo (could lead to inf.recursion)
34            * test/simple.R: testing that
35    
36            * R/sparseMatrix.R (prSpMatrix): change to be used as print()
37            method as well (which can have arguments, show() can't).
38    
39    2007-06-16 15:52  Douglas Bates <bates@stat.wisc.edu>
40    
41            * [r4466] R/dgCMatrix.R, src/dgCMatrix.c, src/dgCMatrix.h, src/init.c:
42              added dgCMatrix_colSums for [col,row][Sums,Means]
43    
44    2007-06-15 23:15  Douglas Bates <bates@stat.wisc.edu>
45    
46            * [r4460] R/sparseMatrix.R, man/dgCMatrix-class.Rd, src/dgCMatrix.c,
47              src/dgCMatrix.h, src/init.c: added lm.fit.sparse (unexported),
48              coercion of "factor" to "dgCMatrix" and dgCMatrix_cholsol
49            * [r4461] R/AllClass.R, man/sparseMatrix-class.Rd: draft "indicators"
50              class
51            * [r4463] R/sparseMatrix.R, man/dgCMatrix-class.Rd,
52              man/sparseMatrix-class.Rd: Don't need an "indicators" class - use the
53              row names to store the levels - duh!  Added an example.
54    
55    2007-06-14  Martin Maechler  <maechler@stat.math.ethz.ch>
56    
57            * src/Csparse.c (Csparse_validate): check for *repeated* entries
58            thanks to example from Christian Buchta; with a test here:
59            * tests/simple.R:
60    
61    2007-06-07  Martin Maechler  <maechler@stat.math.ethz.ch>
62    
63            * R/Auxiliaries.R (callGeneric): another fix, needed for some cases
64            of colSums(*, sparseResult = TRUE)
65    
66    2007-06-06  Martin Maechler  <maechler@stat.math.ethz.ch>
67    
68            * R/lsparseMatrix.R, R/ldenseMatrix.R (all, any): change default to
69            'na.rm = FALSE' as "everywhere" else in R.
70    
71    2007-06-05 Douglas Bates <bates@stat.wisc.edu>
72    
73            * [r4421] src/CSparse_install.sh: Modify for new organization of
74              CSparse package
75            * [r4425] src/UFsparse_download.sh: Update to version 3.0.0 of
76              SuiteSparse
77            * [r4426] src/Makefile: add ./UFconfig to the include path for
78              compilation
79            * [r4427] src/cs.[ch]: update to CSparse version 2.2.0
80            * [r4428] inst/doc/UFsparse/* src/{AMD,CHOLMOD,COLAMD}/*
81              src/UFconfig/UFconfig.h: Update to version 3.0.0 of SuiteSparse
82    
83    2007-06-05  Martin Maechler  <maechler@stat.math.ethz.ch>
84    
85            * R/Auxiliaries.R (emptyColnames): + argument msg.if.not.empty, used in
86            * R/sparseMatrix.R (prSpMatrix): now gives a message about
87            suppressed column names.
88    
89    2007-06-04 17:13  Douglas Bates <bates@stat.wisc.edu>
90    
91            * [r4418] src/Csparse.c, src/HBMM.c, src/Mutils.c, src/Mutils.h,
92              src/Tsparse.c, src/chm_common.c, src/chm_common.h, src/dgCMatrix.c,
93              src/dgeMatrix.c, src/dpoMatrix.c, src/dpoMatrix.h, src/dppMatrix.c,
94              src/dppMatrix.h, src/dsCMatrix.c, src/dspMatrix.c, src/dspMatrix.h,
95              src/dsyMatrix.c, src/dsyMatrix.h, src/dtpMatrix.c, src/dtrMatrix.c:
96              Remove warnings after change to const char* CHAR
97    
98    2007-06-04 17:11  Douglas Bates <bates@stat.wisc.edu>
99    
100            * [r4417] inst/include/Matrix_stubs.c, inst/include/cholmod.h: Corrected
101              type of M_cholmod_ssmult
102    
103    2007-06-03 14:42  Douglas Bates <bates@stat.wisc.edu>
104    
105            * [r4412] inst/include/Matrix_stubs.c, inst/include/cholmod.h,
106              src/init.c: Yet another cholmod export - cholmod_ssmult
107    
108    2007-05-23  Martin Maechler  <maechler@stat.math.ethz.ch>
109    
110            * NAMESPACE: exported drop0(), since
111            * man/drop0.Rd: I have seen several cases, I really wanted to use
112            it, so our users may want too.
113    
114    2007-05-22  Martin Maechler  <maechler@stat.math.ethz.ch>
115    
116            * man/colSums.Rd: separately document colSums() etc, since these
117            have the extra argument 'sparseResult'.
118    
119    2007-05-21  Martin Maechler  <maechler@stat.math.ethz.ch>
120    
121            * R/sparseMatrix.R (spMatrix): utility (T)sparse Matrix constructor;
122            * man/spMatrix.Rd: docu., including examples
123    
124            * R/Auxiliaries.R (sp.colMeans): etc, using a patched callGeneric(),
125            in order to make colMeans() etc fast *and* correct.
126            * R/sparseVector.R (replSPvec): "[<-" functionality for
127            sparseVectors; tested in
128            * tests/simple.R:
129    
130    2007-05-19  Martin Maechler  <maechler@stat.math.ethz.ch>
131    
132            * R/sparseMatrix.R (print.sparseSummary): and summary() method for
133            (very) sparse Matrices; output similar to Matlab's print().
134    
135    2007-05-17  Douglas Bates  <bates@stat.wisc.edu>
136    
137            * src/HBMM.c (Matrix_writeMatrixMarket): Write 1-based, not
138            0-based, indices (Jose Quesada <quesada@gmail.com>).
139    
140    2007-05-16  Douglas Bates  <bates@stat.wisc.edu>
141    
142            * R/CHMfactor.R: Added solve methods for a CHMfactor object.
143    
144    2007-05-16  Martin Maechler  <maechler@stat.math.ethz.ch>
145    
146            * R/Auxiliaries.R (sparsapply): new utility, much faster than
147            tapply1() for large sparse matrices.
148    
149    2007-05-15  Martin Maechler  <maechler@stat.math.ethz.ch>
150    
151            * R/Matrix.R (dim<-): reshape now via sparseVector.
152    
153            * R/sparseVector.R: methods and function for
154            * R/AllClass.R: new "sparseVector" class and daughters.
155            * NAMESPACE: export new classes
156    
157    2007-05-14  Martin Maechler  <maechler@stat.math.ethz.ch>
158    
159            * DESCRIPTION (Version): 0.99875-1
160            * src/Makefile.win: also remove Lapack code from here (cf. 04-25).
161    
162    2007-05-11  Martin Maechler  <maechler@stat.math.ethz.ch>
163    
164            * R/Tsparse.R ([, Tsparse): fix last case: *duplicated*, symmetric
165            indexing
166            * tests/indexing.R: test set for that.
167    
168    2007-05-08  Martin Maechler  <maechler@stat.math.ethz.ch>
169    
170            * R/Tsparse.R (replTmat): fix the case of *duplicated* index
171            entries.
172            * tests/indexing.R(out): add regression test for it
173    
174    2007-04-30  Martin Maechler  <maechler@stat.math.ethz.ch>
175    
176            * R/(l(dense|sparse))?Matrix.R (!): use 'x', not 'e1' as argument
177            name for "!" method definitions.
178    
179    2007-04-26  Martin Maechler  <maechler@stat.math.ethz.ch>
180    
181            * R/Tsparse.R (intI): new utility, used for "[" :
182                    Cleanup up there, and fixes for duplicated indices - more TODO!
183    
184            * tests/indexing.R(out): more tests
185    
186    2007-04-25  Douglas Bates  <bates@stat.wisc.edu>
187    
188            * DESCRIPTION,src/Makefile: require R>= 2.5.0 and remove Lapack
189            code that is now part of the R Lapack library.
190    
191            * src/init.c,inst/include/{Matrix_stubs.c,cholmod.h}:export
192            cholmod_factorize_p (used in lme4 for GLMMs and NLMMs).
193    
194    2007-04-21  Martin Maechler  <maechler@stat.math.ethz.ch>
195    
196            * R/Matrix.R (image): method for all Matrices, not just sparse ones.
197    
198    2007-04-17  Martin Maechler  <maechler@stat.math.ethz.ch>
199    
200            * R/Auxiliaries.R (tapply1): unname(.) -> colSums() etc don't end
201            up with extraneous names '0'...'<n-1>'
202    
203    2007-04-12  Martin Maechler  <maechler@stat.math.ethz.ch>
204    
205            * R/dgTMatrix.R (mat2dgT): care about NAs
206    
207    2007-04-11  Martin Maechler  <maechler@stat.math.ethz.ch>
208    
209            * R/kronecker.R: triangularity preserving methods
210    
211    2007-03-27  Martin Maechler  <maechler@stat.math.ethz.ch>
212    
213            * R/kronecker.R: new file collecting kronecker() methods in one
214                    place.  Goal: become much faster!
215    
216    2007-03-23  Martin Maechler  <maechler@stat.math.ethz.ch>
217    
218            * src/dtCMatrix.c (dtCMatrix_solve): use the new code from Kasper
219            Kristensen based cs_spsolve() instead of _lsolve & _usolve which
220            can be much faster.
221    
222            * tests/matprod.R: add regression tests for these (upper & lower).
223    
224    2007-03-19  Martin Maechler  <maechler@stat.math.ethz.ch>
225    
226            * R/Matrix.R (diff): method for our Matrices.
227    
228            * R/sparseMatrix.R (isDiagonal): check dim()!
229    
230    2007-03-17  Martin Maechler  <maechler@stat.math.ethz.ch>
231    
232            * R/Matrix.R (dim<-): new method for "reshape()" built on a
233            proposal from Tamas Papp.
234    
235    2007-03-16  Martin Maechler  <maechler@stat.math.ethz.ch>
236    
237            * R/AllGeneric.R: remove all  if(!isGeneric(.))  clauses
238    
239            * R/zzz.R (.onLoad, .onUnload): do *not* leave bind_activation(TRUE);
240            rather define and export  cBind() and rBind() only.
241            --> useRs *must* change code that used to have cbind()/rbind() !!
242    
243            * R/bind.R: change tests from cbind() to cBind() and similarly to rBind()
244            * R/bind.Rout.save: ditto
245    
246    2007-02-16  Douglas Bates  <bates@r-project.org>
247    
248            * DESCRIPTION (Date, Version): 0.9975-11 with new date
249            * src/dgCMatrix.c (R_to_CMatrix, compressed_to_TMatrix): remove
250            const modifier on declaration of the array 'valid'
251    
252    2007-02-12  Douglas Bates  <bates@stat.wisc.edu>
253    
254            * R/CHMfactor.R: Add image method (coercion to sparseMatrix).
255    
256    2007-02-05  Martin Maechler  <maechler@stat.math.ethz.ch>
257    
258            * DESCRIPTION (Date, Version): 0.9975-10 with new date.
259    
260            * R/Ops.R (Arith): make sure Csparse o Csparse also works for e.g. ntCMatrix
261            * tests/simple.R: test the above and some of these coercions:
262    
263            * R/nsparseMatrix.R: coercing "Csparse" to "lsparseMatrix";
264                    be careful to avoid infinite recursion, using new coercions in
265            * R/ngCMatrix.R and nsC... and ntC...
266            * R/lsparseMatrix.R: ditto
267    
268            * R/SparseM-conv.R: more conversion, notably for triplet matrices.
269    
270            * src/dgCMatrix.c (R_to_C_Matrix): port Doug's fix and
271            * R/Rsparse.R: reactivate .Call()s
272    
273            * tests/Class+Meth.R: a bit more on actual classes
274    
275    2007-02-04  Douglas Bates  <bates@stat.wisc.edu>
276    
277            * src/dgCMatrix.c (compressed_to_TMatrix): fix memory bug using strdup()
278    
279    2007-02-03  Martin Maechler  <maechler@stat.math.ethz.ch>
280    
281            * DESCRIPTION (Version): 0.9975-10 to upload
282    
283            * tests/Class+Meth.R (tstMatrixClass): require coercions to
284            specific classes less unconditionally.
285    
286            * R/Auxiliaries.R: get rid of as_Tsparse() and as_Rsparse()
287    
288            * R/Tsparse.R (triu): etc, use as(*, "TsparseMatrix") instead of as_Tsparse()
289    
290            * R/Rsparse.R (.R.2.T): R-level workaround using compressed_to_TMatrix.
291            * R/Rsparse.R (.R.2.C): R-level workaround since C-level
292            R_to_CMatrix segfaults on one platform.
293            Eliminate most coercion method to *specific* classes, and replace
294            with virtual classes coercions.
295    
296    
297    2007-02-01  Martin Maechler <maechler@stat.math.ethz.ch>
298    
299            * src/init.c: export the CHM...._validate() placeholders, since
300            they *are* called.
301    
302            * tests/Class+Meth.R (classCanCoerce): and starting to test
303            all as(<from>, <to>)
304    
305    2007-01-30  Martin Maechler  <maechler@stat.math.ethz.ch>
306    
307            * R/Tsparse.R ([): more care when subsetting triangular Tsparse
308            * tests/indexing.R: tested now
309            * tests/indexing.Rout.save: updated
310    
311            * src/Csparse.c (Csparse_to_dense): use Rkind = -1 for PATTERN to
312            * src/chm_common.c (chm_dense_to_SEXP): return "ngeMatrix" when
313            appropriate.
314    
315            * NAMESPACE: export a trivial
316            * R/Matrix.R: drop() Matrix-method
317    
318            * R/AllClass.R: moved all prototypes to virtual super classes.
319    
320            * R/Rsparse.R: many more coercions to have less exceptions in
321            * tests/Class+Meth.R:
322    
323            * R/Ops.R (Compare): tweak for case with NA
324            * tests/simpl.R: hence another 'FIXME' eliminated
325    
326    2007-01-29  Martin Maechler  <maechler@stat.math.ethz.ch>
327    
328            * R/diagMatrix.R (solve): the obvious methods for diagonalMatrix
329            objects.
330    
331            * tests/Class+Meth.R (tstMatrixClass): now testing diag(), nnzero(),
332              and more of "!", "&", "|", all, any; coercions
333    
334            * R/Rsparse.R: many coercions (which enable quite a few other
335            methods), thanks to enhancements in
336            * src/dgCMatrix.c (R_to_CMatrix): new, and
337            * src/dgCMatrix.c (compressed_to_TMatrix): now for (d,l,n) ,
338            symmetric & triangular and ..RMatrix objects.
339    
340            * src/TMatrix_as.c (Matrix_T_as_DENSE,Matrix_T_as_GENERAL):
341            renamed file from src/dsTMatrix.c;
342            now dealing with symmetric and triangular Tsparse coercions, both
343            to dense and general.
344    
345    2007-01-27  Martin Maechler  <maechler@stat.math.ethz.ch>
346    
347            * src/dsTMatrix.c: has now "l" and "n" methods besides the "d" ones.
348    
349            * R/Ops.R (Arith): <dgCMatrix> o <numeric> now remains sparse
350            where sensible when the <numeric> is of length > 1.
351    
352    2007-01-26  Martin Maechler  <maechler@stat.math.ethz.ch>
353    
354            * R/Matrix.R ([<-): for M[] <- value: fix length
355    
356    2007-01-25  Martin Maechler  <maechler@stat.math.ethz.ch>
357    
358            * R/Auxiliaries.R (n2l_Matrix): new, to be used in
359            * R/ndenseMatrix.R: new coercions n* -> l*
360    
361    2007-01-22  Martin Maechler  <maechler@stat.math.ethz.ch>
362    
363            * R/triangularMatrix.R: new file; simple triu() and tril() methods.
364    
365            * R/Ops.R ("Logic"): and other "Ops", many updates
366    
367    2007-01-18  Martin Maechler  <maechler@stat.math.ethz.ch>
368    
369            * src/Mutils.h (SET_DimNames): new utility
370    
371            * R/Auxiliaries.R (nnzero): improved and now exported via
372    
373            * NAMESPACE: + nnzero(); length() == prod(dim(.)) method for all "Matrix" objects
374    
375    2007-01-17  Martin Maechler  <maechler@stat.math.ethz.ch>
376    
377            * R/diagMatrix.R (!): fix typo.
378    
379    2007-01-16  Martin Maechler  <maechler@stat.math.ethz.ch>
380    
381            * R/Auxiliaries.R (as_Csparse): and quite a few others:
382                    allow to pass class definition --> speedup
383            * R/sparseMatrix.R: apply the above
384    
385            * R/Csparse.R: coercion Csparse* to dense* now preserves shape properties.
386    
387            * src/Mutils.h (mMatrix_as_geMatrix): new, based on
388            * src/Mutils.c (dup_mMatrix_as_geMatrix): new; generalization of
389            old dup_mMatrix_as_dgeMatrix), eliminating a long-standing "FIXME".
390    
391            * src/dense.c (dense_to_Csparse): use new mMatrix_as_geMatrix()
392    
393            * R/denseMatrix.R (.dense2C): based on dense_to_Csparse: name it,
394            and use it for "sparse*" as well, since it's faster than the
395            as_Csparse(.) way.
396    
397    2007-01-15  Martin Maechler  <maechler@stat.math.ethz.ch>
398    
399            * R/Ops.R ("Logic"): more methods, notably an  <lgC> o <lgC> one.
400    
401    2007-01-12  Martin Maechler  <maechler@stat.math.ethz.ch>
402    
403            * R/Tsparse.R (.TM.repl.i.2col): new internal function to be used
404            as method for   M[ ij ] <- v
405            * R/Csparse.R:: go via Tsparse for "M[ij] <- v"
406    
407            * R/Ops.R: "Compare" for (C|R)sparse: need pointer slot for all
408            FALSE answer
409    
410            * R/Csparse.R (replCmat): fix the "all non-zero" case with reordering
411            * tests/indexing.R: test it, and some of the above
412    
413    2007-01-05  Martin Maechler  <maechler@stat.math.ethz.ch>
414    
415            * R/Auxiliaries.R (is_duplicatedT): new utility
416    
417    2007-01-05  Douglas Bates  <bates@stat.wisc.edu>
418    
419            * src/init.c (R_init_Matrix): export cholmod_scale
420    
421    2006-12-30  Martin Maechler  <maechler@stat.math.ethz.ch>
422    
423            * R/zzz.R (tmp): for R >= 2.5.0, extend formals of our
424            base::as.matrix to (x, ...)
425    
426    2006-12-28  Martin Maechler  <maechler@stat.math.ethz.ch>
427    
428            * R/Ops.R ("Arith" etc): move almost all "Ops" methods to new R
429            file; start using "Logic", hence
430    
431            * DESCRIPTION (Depends): R >= 2.4.1 (since we want "Logic")
432            * NAMESPACE: import and export "Logic"
433    
434    2006-12-27  Martin Maechler  <maechler@stat.math.ethz.ch>
435    
436            * src/zpotfr.f and dependencies: use LAPACK 3.1 version
437            only needed previously to R version 2.5.0.
438    
439    2006-12-26  Martin Maechler  <maechler@stat.math.ethz.ch>
440    
441            * DESCRIPTION (Date, Version): 0.9975-8, ready for release
442    
443            * R/Tsparse.R (replTmat): fix subassignment of triangular
444            * R/Csparse.R (replCmat): ditto
445            * tests/indexing.R: more tests, incl the above fix
446    
447    2006-12-23  Martin Maechler  <maechler@stat.math.ethz.ch>
448    
449            * R/Auxiliaries.R (drop0): extend for non CSparse
450            * R/Auxiliaries.R (diagU2N): should work for all sparseMatrix
451    
452            * src/Csparse.c (Csparse_to_Tsparse, Csparse_general_to_symmetric):
453                    use uplo correctly (!); other places: use uplo_P() macro
454    
455            * R/Csparse.R (replCmat): call diagU2N() when needed
456            * R/Tsparse.R (replTmat): ditto
457    
458            * src/dtCMatrix.c (tCMatrix_validate): new
459            * src/dtTMatrix.c (tTMatrix_validate): new, used in
460            * R/AllClass.R: for validity of dtC, dsC, and dtT, dsT.
461    
462            * R/diagMatrix.R (replDiag): to use in [<-
463    
464    2006-12-22  Martin Maechler  <maechler@stat.math.ethz.ch>
465    
466            * R/Auxiliaries.R (as_Csparse2, as_geSimpl): new functions;
467                    also more general diagU2N().
468    
469    2006-12-21  Martin Maechler  <maechler@stat.math.ethz.ch>
470    
471            * R/bind2.R: new file for all cbind2(), rbind() methods moved here
472            from R/<foo>Matrix.R files. Better diagonal & improved sparse methods.
473    
474    2006-12-20  Martin Maechler  <maechler@stat.math.ethz.ch>
475    
476            * tests/bind.R: a few more cases
477            * R/Auxiliaries.R (.M.kind): also work for atomic vectors
478    
479            * R/denseMatrix.R (cbind2/rbind2): moved here (and generalized) from
480            * R/ddenseMatrix.R (cbind2/rbind2)
481            * R/Tsparse.R (replTmat): final(?!) fix for "[<-" ..
482            * tests/indexing.R
483            * tests/indexing.Rout.save: updated
484    
485    2006-12-18  Martin Maechler  <maechler@stat.math.ethz.ch>
486    
487            * R/Tsparse.R (replTmat): fixed a remaining "[<-" bug in
488            * tests/indexing.R
489    
490    2006-12-15  Martin Maechler  <maechler@stat.math.ethz.ch>
491    
492            * R/sparseMatrix.R (prSpMatrix): "." alignment much improved:
493            align with proper position of "0", i.e., right for integers.
494            argument 'align' by default is "fancy".
495    
496    2006-12-14  Martin Maechler  <maechler@stat.math.ethz.ch>
497    
498            * R/sparseMatrix.R: delegate "Compare" to "Csparse.."
499            * R/Csparse.R: and fix "Compare" for more cases.
500            * tests/Class+Meth.R: test some of these (m == m, m != m)
501    
502    2006-12-13  Martin Maechler  <maechler@stat.math.ethz.ch>
503    
504            * R/lsparseMatrix.R: all() and any() methods
505            * R/ldenseMatrix.R:      ditto
506            * NAMESPACE, R/Matrix.R: ditto
507    
508            * man/all-methods.Rd: document them minimally
509    
510            * tests/simple.R: add a few examples for these
511    
512    2006-12-11  Martin Maechler  <maechler@stat.math.ethz.ch>
513    
514            * R/Tsparse.R ([): fix long standing typo in symmetric case
515            * man/dsCMatrix-class.Rd: add example exhibiting the above case
516    
517    2006-12-10  Douglas Bates  <bates@stat.wisc.edu>
518    
519            * src/CHMfactor.c (CHMfactor_to_sparse): change LDL factorization
520            to LL before converting to a sparse matrix. (The LDL form can be
521            converted to a sparse matrix but it is implicitly a unit
522            triangular matrix and a diagonal matrix overwritten on the diagonal.)
523    
524    2006-12-09  Douglas Bates  <bates@stat.wisc.edu>
525    
526            * src/chm_common.c (chm_factor_to_SEXP): allocate and fill the Dim slot.
527    
528    2006-12-08  Douglas Bates  <bates@stat.wisc.edu>
529    
530            * DESCRIPTION (Version): updated -> release 0.9975-7
531            * src/{init.c,chm_common.c}, inst/include/*: export cholmod_analyze_p
532    
533    2006-11-30  Martin Maechler  <maechler@stat.math.ethz.ch>
534    
535            * R/diagMatrix.R (%*%): write a direct [diag o Csparse] method
536    
537    2006-11-29  Douglas Bates  <bates@stat.wisc.edu>
538    
539            * src/dgeMatrix.c (dgeMatrix_solve): Check error code from dgetri.
540            * tests/dg_Matrix.R: Add Barry Rowlingson's test of a matrix that
541            is exactly singular.
542    
543    2006-11-07  Martin Maechler  <maechler@stat.math.ethz.ch>
544    
545            * DESCRIPTION (Date): updated -> release 0.9975-6
546    
547    2006-11-06  Martin Maechler  <maechler@stat.math.ethz.ch>
548    
549            * R/Csparse.R (replCmat): symmetric indexing of symmetric matrix
550            now returns symmetric.
551    
552            * R/zzz.R ("diag<-"): replace "diag<-" in base for R <= 2.4.x
553    
554            * R/Matrix.R (.M.sub.i.2col):  new, for  M[ cbind(i,j) ] indexing.
555            * R/Matrix.R (.M.repl.i.2col): new, for  M[ cbind(i,j) ] <- value
556    
557            * R/Auxiliaries.R (.type.kind): added
558    
559    2006-11-04  Martin Maechler  <maechler@stat.math.ethz.ch>
560    
561            * src/cs.[ch]: updated to CSparse Version 2.0.3 by simply
562            running src/CSparse_install.sh
563    
564            * R/denseMatrix.R: "[": keep symmetric on symmetric indexing.
565    
566    2006-11-03  Martin Maechler  <maechler@stat.math.ethz.ch>
567    
568            * src/dsCMatrix.c (dsCMatrix_Csparse_solve): new
569            * R/dsCMatrix.R (solve): "fully-sparse" using the above.
570    
571            * R/AllClass.R: "pMatrix" now also inherits from "generalMatrix"
572    
573            * tests/Class+Meth.R (tstMatrixClass): now assure
574            the (important in method programming) property :
575    
576                    ###>>  Every "Matrix" is either
577                    ###>>  "general*", "symmetric*", "triangular*" or "diagonal*"
578    
579                    (where "*" stands for "Matrix")
580    
581            * R/Auxiliaries.R (diagU2N): now .Call()s Csparse_diagU2N for <Csparse>
582    
583            * R/dMatrix.R (Compare(<dMatrix>,<dMatrix>): update and
584            * tests/validObj.R: checks for "comparison"
585    
586            * R/sparseMatrix.R ([): improved indexing for sparse;
587                    trying to keep <symmetric>[ n, n] symmmetric
588    
589            * tests/indexing.R: indexing for logical sparse now ok
590    
591    
592    2006-11-02  Martin Maechler  <maechler@stat.math.ethz.ch>
593    
594            * src/Tsparse.c: use xTsparse_validate() , and hence remove
595    
596            * src/{ltC,lsC,lgT}Matrix.[ch]: removed
597    
598    2006-11-02  Martin Maechler  <maechler@stat.math.ethz.ch>
599    
600            * R/AllClass.R (Matrix-class): check length of dimnames in validity.
601    
602            * tests/simple.R: validObject() checking the above.
603    
604            * src/dgCMatrix.c (xCMatrix_validate): new, small and simple,
605            replacing both dgCMatrix_validate and lgCM*.
606    
607            * src/Csparse.c (Csparse_dense_prod, etc): do not lose dimnames;
608            fix dimnames setting in other places.
609            * src/chm_common.c (chm_dense_to_SEXP): now can pass dimnames
610    
611    2006-11-01  Martin Maechler  <maechler@stat.math.ethz.ch>
612    
613            * R/Csparse.R,src/Csparse.c, etc: tcrossprod(<CsparseM>,<CsparseM>)
614    
615            * R/sparseMatrix.R (isSymmetric): drop 'factors' slot for
616            symmetry test, via
617            * R/Auxiliaries.R (.as.dgC.0.factors):
618    
619    2006-11-01  Douglas Bates  <bates@r-project.org>
620    
621            * R/Csparse.R,src/Csparse.c,tests/matprod.R,
622            man/CsparseMatrix-class.Rd: crossprod(<CsparseMatrix>,
623            <CsparseMatrix>) added
624    
625    2006-10-30  Martin Maechler  <maechler@stat.math.ethz.ch>
626    
627            * tests/matprod.R: add a variation of Harri's example
628    
629            * R/dsparseMatrix.R: fix crossprod(<dsparse>, <dge>) to *not*
630            recursive infinitely.
631    
632            * R/dgCMatrix.R: + solve(<sparse>, <sparse>)
633    
634            * tests/indexing.R: add test for the "<" bug fixed 10-27 in R/dMatrix.R
635    
636    2006-10-28  Martin Maechler  <maechler@stat.math.ethz.ch>
637    
638            * tests/Class+Meth.R (tstMatrixClass): more: use non-trivial
639            matrix if possible; test m+m == 2*m; now test dgRMatrix.
640            * R/dgRMatrix.R (.to.dgR): a few more coercions, in order to
641            satisfy the above test.
642    
643    2006-10-27  Martin Maechler  <maechler@stat.math.ethz.ch>
644    
645            * R/Matrix.R (Ops):  <Matrix> o <matrix>  method added
646    
647            * R/dgCMatrix.R: solve(a, b="missing") based on
648            * src/dgCMatrix.c (dgCMatrix_matrix_solve): extend to work with
649            RHS = NULL.
650    
651            * R/diagMatrix.R (diagdiagprod): extend %*% etc to ldiMatrix;
652            add more (needed) [t]crossprod() methods.
653    
654            * man/ddiMatrix-class.Rd: more info, notably on 'diag'
655    
656            * R/Auxiliaries.R (as_CspClass): cleanup
657            (drop0): internal utility for "Csparse_drop(*, 0)"
658            (.bail.out.2): encourage active feedback
659    
660    2006-10-26  Martin Maechler  <maechler@stat.math.ethz.ch>
661    
662            * R/dMatrix.R(Compare): new(), then slots [no validity check]
663    
664            * src/Csparse.c (Csparse_validate): fixed (and more efficient in
665            non-valid or 'sorted' case).
666    
667            * R/dsparseMatrix.R: add "chol" method.
668            * R/ddenseMatrix.R: ditto
669    
670            * R/diagMatrix.R (Ops): group methods for  <diagonal> o <sparse>
671            * NAMESPACE (Ops)
672            * R/diagMatrix.R (diag2T): simple utility used "higher level"
673            coercion; deprecating direct lower level coercions.
674    
675            * R/*.R (seq): use seq_len() and seq_along() where possible.
676    
677    
678    2006-10-23  Martin Maechler  <maechler@stat.math.ethz.ch>
679    
680            * DESCRIPTION (Version): 0.9975-5 ready for release
681    
682    2006-10-20  Douglas Bates  <bates@stat.wisc.edu>
683    
684            * src/init.c (R_init_Matrix): export more cholmod CCallable functions.
685    
686    2006-10-20  Martin Maechler  <maechler@stat.math.ethz.ch>
687    
688            * R/AllClass.R (corMatrix): add 'validity' check;
689                    comment out unused "LDL" class definition
690            * NAMESPACE: mention, but do not export "LDL" class
691            * R/corMatrix.R: new (simple), needed for R-devel with
692            * tests/Class+Meth.R (tstMatrixClass): 1 exception for corMatrix
693              coerce and t() exceptions for all 5 'Mat.MatFact' classes.
694    
695    2006-10-19  Douglas Bates  <bates@stat.wisc.edu>
696    
697            * src/chm_common.h: Add R_cholmod_start to initialize cholmod to
698            use Rprintf and R's error handling.
699    
700    2006-10-17  Martin Maechler  <maechler@stat.math.ethz.ch>
701    
702            * R/diagMatrix.R (%*%): rep(*, each = .) in Matrix %*% diagonal.
703            * tests/matprod.R: add tests for the bug fixed.
704    
705    2006-10-11  Douglas Bates  <bates@stat.wisc.edu>
706    
707            * src/HBMM.[ch]: remove HarwellBoeing format for writing.
708            * src/SOURCES_C.mkf (SOURCES_C): no longer compile iohb.c
709    
710    2006-10-06  Douglas Bates  <bates@stat.wisc.edu>
711    
712            * R/d[gs]CMatrix.R: deprecate the writeHB function.  Use writeMM instead.
713    
714    2006-10-06  Martin Maechler  <maechler@stat.math.ethz.ch>
715    
716            * DESCRIPTION (Version): 0.9975-3
717    
718            * R/diagMatrix.R (bdiag): new function constructing block diagonal
719            (sparse) matrices.
720            * man/bdiag.Rd: docu + examples
721    
722            * R/Csparse.R (replCmat): calling new Csparse_drop() now.
723    
724            * src/Csparse.c (Csparse_general_to_symmetric, Csparse_drop): new functions
725            * R/lsCMatrix.R: three more coercions to lsC (thanks to the above)
726    
727            * R/diagMatrix.R (Diagonal): '[<-' method for diag.matrices such
728            that result is sparse or diagonal (and not dense).
729    
730            * man/Subassign-methods.Rd: fix examples
731    
732            * R/Matrix.R (Matrix):  Matrix(0, *) or Matrix(*, sparse=TRUE)
733            should always return a sparse (and not sometimes a diagonal) matrix.
734    
735    2006-10-05  Martin Maechler  <maechler@stat.math.ethz.ch>
736    
737            * R/Matrix.R ([<-): also for value "Matrix" or "matrix"
738    
739    2006-10-04  Douglas Bates  <bates@stat.wisc.edu>
740    
741            * DESCRIPTION (Version): 0.9975-2
742    
743            * inst/include/Matrix_stubs.c (M_cholmod_sparse_to_triplet): export more symbols
744    
745    2006-10-02  Douglas Bates  <bates@R-project.org>
746    
747            * tests/dg_Matrix.R: Simplify test taking into account new code.
748    
749    2006-09-29  Martin Maechler  <maechler@stat.math.ethz.ch>
750    
751            * R/Csparse.R (replCmat): improve for missing i / j in non-simple cases
752    
753            * R/lsTMatrix.R: new files w/ missing methods
754            * R/nsTMatrix.R:  "  'for completeness'
755    
756            * tests/Class+Meth.R: a bit less 'not.ok.classes'
757    
758            * R/Tsparse.R (t): generalized "t" method from "dgT*" to "Tsparse*"
759    
760    
761    2006-09-28  Douglas Bates  <bates@R-project.org>
762    
763            * src/dppMatrix.h: Ensure definition of dspMatrix_validate is
764            included.
765    
766            * src/init.c, inst/include/{Matrix.h,Matrix_stubs.h,cholmod.h}:
767            Export C-callable functions used in Zt_create in lme4.
768    
769    2006-09-28  Martin Maechler  <maechler@stat.math.ethz.ch>
770    
771            * DESCRIPTION (Version): 0.9975-1
772    
773            * tests/simple.R: less checks fail; using NA, found that our
774                    kronecker() is not base-compatible with NA's.
775    
776            * R/dMatrix.R: "Compare" method now implemented for all cases
777    
778            * R/Auxiliaries.R (indTri): == which([lower/upper].tri( * )) new utility
779    
780            * man/dtpMatrix-class.Rd: mention length of 'x' slot
781    
782            * src/dtpMatrix.c (dtpMatrix_validate): fix check
783            * src/dspMatrix.c (dspMatrix_validate): ditto
784    
785            * R/dtTMatrix.R (gt2tT): fix ("l" -> "n")
786              including coercion to [nl]tTMatrix.
787    
788            * R/diagMatrix.R (show): print a header line as for other classes.
789    
790    2006-09-27  Martin Maechler  <maechler@stat.math.ethz.ch>
791    
792            * src/Makefile.win (SUBDIRS): fix typo
793    
794    2006-09-19  Martin Maechler  <maechler@stat.math.ethz.ch>
795    
796            * DESCRIPTION (Date): ready to release 0.9975-0 to CRAN
797    
798    2006-09-18  Douglas Bates  <bates@stat.wisc.edu>
799    
800            * R/[CT]sparse.R (crossprod and tcrossprod): Handle the cases for x
801            symmetric and y missing in R code using %*% (cholmod_aat doesn't
802            accept a symmetric matrix).
803            * tests/group-methods.R: Uncomment test of crossprod applied to
804            lsCMatrix objects.
805    
806    2006-09-18  Martin Maechler  <maechler@stat.math.ethz.ch>
807    
808            * R/AllClass.R (symmetricMatrix): add validity method (available
809            in C for a long time). Many "n..Matrix": drop (wrong) validity arg.
810    
811            * src/lgCMatrix.c (lgCMatrix_validate): check 'x' slot (!)
812    
813            * tests/indexing.Rout.save:
814            * tests/indexing.R: additions, mainly for 'lsparse'
815    
816            * R/diagMatrix.R (Diagonal) & coercion to lgTMatrix: fixes for NA
817            case.
818    
819            * R/Auxiliaries.R (nz.NA): new utility now used in nnzero()
820    
821    2006-09-16  Martin Maechler  <maechler@stat.math.ethz.ch>
822    
823            * R/sparseMatrix.R (prSpMatrix): print logical NAs "visibly"
824                    as 'N' (1-letter - Ok?)
825    
826            * tests/group-methods.R: add test for logical + NAs
827    
828            * R/dMatrix.R ("Compare"): fix to work with NA's
829    
830            * R/AllClass.R: "Cholesky" etc now inherit from MatrixFactorization.
831    
832            * src/lgCMatrix.c (ncsc_to_matrix): renamed from lcsc_to_matrix()
833                    which is implemented.
834    
835    2006-09-15  Martin Maechler  <maechler@stat.math.ethz.ch>
836    
837            * src/chm_common.c: coerce logical <-> double instead of
838            typecasting;  needed for "l" matrix handling in cholmod.
839    
840            * tests/other-pkgs.R (graph): small extension in "graph" checks.
841    
842            * R/sparseMatrix.R (graphNEL -> Tsparse): method for weight case.
843            (Tsp2grNEL): other fixes needed
844    
845    2006-09-11  Martin Maechler  <maechler@stat.math.ethz.ch>
846    
847            * R/AllClass.R ("nMatrix"): and subclasses for "nonzero pattern"
848                    Matrices, since "lMatrix", also "lsparseM" can have NA
849            * R/ndenseMatrix.R, etc: new source files
850            * man/nsparseMatrix-classes.Rd, etc: new help files
851            * tests/: adaptions
852            * src/chm_common.c (chm_dense_to_SEXP): and others:
853                    new 'Rkind' argument: "l*" and "d*" both use CHOLMOD_REAL
854            * src/Csparse.c, etc: ditto
855    
856    2006-09-11  Douglas Bates  <bates@R-project.org>
857    
858            * src/Mutils.[ch],init.c inst/include/*.h: Move the
859            alloc_d**Matrix functions to the lme4 package.
860    
861    2006-09-09  Douglas Bates  <bates@R-project.org>
862    
863            * src/dsCMatrix.c (dsCMatrix_Cholesky): igoring LDL = FALSE now
864            fixed
865    
866    2006-09-09  Martin Maechler  <maechler@stat.math.ethz.ch>
867    
868            * R/lMatrix.R: new
869    
870            * R/sparseMatrix.R (Tsp2grNEL): do not yet use graph::foo()
871    
872            * R/dgeMatrix.R: do not define tcrossprod() methods for "matrix"
873            * man/tcrossprod.Rd: ditto
874    
875    2006-09-08  Douglas Bates  <bates@stat.wisc.edu>
876    
877            * inst/include/Matrix_stubs.c,Matrix.h: Add declarations and stubs
878            for exported functions
879            * src/Makefile, src/CHOLMOD/Lib/Makefile, src/Metis,CAMD,CCOLAMD:
880            Remove partitioning algorithms for sparse matrix reordering.  The
881            copyright on the Metis code was problematic and the methods were
882            rarely used.
883            * src/triplet_to_col.[ch],MMHB.[ch]: Remove triplet_to_col.  Such
884            operations are now done entirely in CHOLMOD code.
885    
886    2006-09-06  Douglas Bates  <bates@R-project.org>
887    
888            * src/Mutils.h: Remove functions that are no longer used.
889    
890    2006-09-04  Douglas Bates  <bates@R-project.org>
891    
892            * src/dtCMatrix.c (dtCMatrix_validate): rename functions.
893            * src/DEPS.mkf: update
894    
895    2006-09-02  Martin Maechler  <maechler@stat.math.ethz.ch>
896    
897            * created branches/Matrix-for-R-2.3.x;  on trunk: do
898            * DESCRIPTION (Version): 0.9975-0
899            (Depends): R (>= 2.4.0)
900    
901    2006-09-01  Douglas Bates  <bates@R-project.org>
902    
903            * R/sparseMatrix.R: Added direct method to CsparseMatrix from graphNEL
904    
905    2006-09-01  Martin Maechler  <maechler@stat.math.ethz.ch>
906    
907            * R/sparseMatrix.R: add coercion from "ANY" to "sparseMatrix"
908            * R/denseMatrix.R:  add coercion from "ANY" to "denseMatrix"
909    
910            * R/Matrix.R ([): use nargs() to disambiguate M[i] and M[i,]
911    
912    2006-08-31  Martin Maechler  <maechler@stat.math.ethz.ch>
913    
914            * R/sparseMatrix.R (Arith): moved Arith group method one-level up
915            from "dsparse" to "sparse" and now go via "Csparse" instead of "dgC"
916            * R/dsparseMatrix.R: ditto
917            * R/Csparse.R: ditto
918    
919    2006-08-31  Martin Maechler  <maechler@stat.math.ethz.ch>
920    
921            * R/dMatrix.R (Compare): improve availability of "<", etc
922            * R/Auxiliaries.R (asTuniq): new; also make use of R 2.4.x print(*,max)
923    
924    2006-08-30  Martin Maechler  <maechler@stat.math.ethz.ch>
925    
926            * R/dgCMatrix.R: aargh: "Arith(<dgC>, numeric)" was wrong because
927            of a 0-index which was used as 1-index (..hmm)
928    
929            * R/sparseMatrix.R (prSpMatrix): fix printing an all-0 sparse Matrix
930    
931            * R/Auxiliaries.R (all0, is0): for 0-testing in presence of NA's
932            * R/Auxiliaries.R (isTriMat): use all0() for 0-testing.
933            (.is.diagonal): ditto
934    
935            * R/lgTMatrix.R: as("matrix", "lgTMatrix"): warn about NA's
936    
937            * R/Matrix.R (Matrix): also work for NA data
938    
939    2006-08-28  Martin Maechler  <maechler@stat.math.ethz.ch>
940    
941            * R/Matrix.R (Matrix): + 'forceCheck' argument; dimnames setting
942            in all cases.
943    
944    2006-08-27  Douglas Bates  <bates@R-project.org>
945    
946            * src/dense.[ch],init.c, R/ddenseMatrix.R, man/band.Rd
947            (ddense_band): Added triu, tril and band for ddenseMatrix objects.
948    
949    2006-08-25  Martin Maechler  <maechler@stat.math.ethz.ch>
950    
951            * src/Mutils.c (dup_mMatrix_as_dgeMatrix): added all subclasses of
952            subclasses of "ddenseMatrix"
953            * src/init.c et al: outcomment dtrM*_as_dge* and dsyM*_as_dge*_
954            * R/ddenseMatrix.R et al: setAs("ddenseMatrix", "dgeMatrix", ..)
955            instead of half dozen specialized ones.
956    
957    2006-08-25  Douglas Bates  <bates@R-project.org>
958    
959            * R/lmer.R (qqmath method): Bug fix provided by Emmanuel Tillard
960            <tillard@cirad.fr> - ordering standard errors to match effects.
961    
962    2006-08-24  Douglas Bates  <bates@R-project.org>
963    
964            * src/lsCMatrix.c (lsCMatrix_trans): Remove lsCMatrix_chol based
965            on R_ldl.
966            * R/lCholCMatrix.R,
967            src/[dl]CholCMatrix.[ch],R_ldl.[ch],Metis_utils.[ch]: removed
968            * src/dsCMatrix.c (dsCMatrix_to_dgTMatrix): use CHOLMOD
969            * many files in ./R and ./src: Use more general version of
970            dup_mMatrix_as_dgeMatrix to simplify method definitions.
971            * src/Mutils.c (dup_mMatrix_as_dgeMatrix): Add ddiMatrix,
972            dtpMatrix, dspMatrix and dppMatrix conversions.
973    
974    
975    2006-08-23  Douglas Bates  <bates@R-project.org>
976    
977            * R/AllClass.R,lCholCMatrix.R,src/SOURCES_C.mkf,init.c,NAMESPACE:
978            Remove classes lCholCMatrix and dCholCMatrix based on R_ldl code.
979            * src/dgeMatrix.c: Ensure 'factors' slot exists in result of
980            dgeMatrix_crossprod (may need to do this in other places).
981            * R/AllGeneric.R,dsCMatrix.R, src/dscMatrix.[ch]: Add Cholesky
982            generic and method for dsCMatrix.  Use CHOLMOD for chol().
983    
984    2006-08-22  Douglas Bates  <bates@R-project.org>
985    
986            * src/Mutils.c (dup_mMatrix_as_dgeMatrix): updated for general
987            types of classed Matrices, matrices or numeric or logical vectors.
988            * src/init.c: register dup_mMatrix_as_dgeMatrix for coercions.
989            * src/chm_common.c,Mutils.h (as_cholmod_factor): Move check_class
990            to Mutils.h (as an inline) and change name to Matrix_check_class;
991            fixes in as_cholmod_factor and chm_factor_to_SEXP.
992            * src/dsCMatrix.[ch]: Use CHOLMOD for dsCMatrix_chol and
993            dsCMatrix_matrix_solve.  Comment out vestigial functions.
994            * src/Csparse.c: use diag_P and uplo_P macros.
995    
996    2006-08-21  Douglas Bates  <bates@R-project.org>
997    
998            * src/lmer.c (internal_mer_RZXinv): Fix memory leak caught by
999            valgrind.
1000            * tests/matprod.R: Add tests to verify that 'solve' and '%*%' are
1001            inverses.
1002            * src/sparseQR.c (sparseQR_validate): add new validation test, fix
1003            -Wall warnings.
1004            * src/dppMatrix.c,dtrMatrix.c,dgCMatrix.c,dgeMatrix.c,dspMatrix.c:
1005            Use dup_mMatrix_as_dgeMatrix.
1006    
1007    2006-08-20  Douglas Bates  <bates@R-project.org>
1008    
1009            * src/sparseQR.c: Fix thinko in sparseQR_resid_fitted.
1010            * tests/sparseQR.R: Added
1011            * man/sparseQR-class.Rd: Document methods for qr.* generics
1012            * R/sparseQR.R: Return correct # of coefs; fix cut-and-paste errors
1013    
1014    2006-08-19  Douglas Bates  <bates@R-project.org>
1015    
1016            * NAMESPACE, R/sparseQR.R, src/init.c,sparseQR.[ch],SOURCES_C.mkf:
1017            Added methods for sparseQR for qr.qy, qr.qty, qr.coef, qr.resid
1018            and qr.fitted.
1019            * src/Mutils.[ch]: Added dup_mMatrix_as_dgeMatrix utility
1020            * src/dgCMatrix.c: Check for ordering before storing q in dgCMatrix_QR
1021    
1022    2006-08-18  Martin Maechler  <maechler@stat.math.ethz.ch>
1023    
1024            * R/AllGeneric.R: add "qr" and "chol" generics; via 'trick' since
1025            the base version has no "..." argument.
1026    
1027            * R/sparseMatrix.R (prSpMatrix): fix the triangular unit diagonal case.
1028    
1029            * R/Matrix.R: define and
1030            * NAMESPACE: export as.numeric() and as.logical() methods.
1031                    Let's hope these do not badly slow down something...
1032            Finally export the zapsmall() method.
1033    
1034    2006-08-17  Douglas Bates  <bates@R-project.org>
1035    
1036            * src/dgCMatrix.[ch] (dgCMatrix_matrix_solve), src/init.c,
1037            R/dgCMatrix.R: solve methods for dgCMatrix and dense RHS.
1038            * src/dtCMatrix.c :Remove code that is no longer used
1039            * R/dtCMatrix.R: Use C code for diagU2N in CsparseMatrix classes
1040    
1041    2006-08-14  Douglas Bates  <bates@R-project.org>
1042    
1043            * src/Csparse.[ch],init.c (Csparse_to_logical): Added utilities
1044            Csparse_to_logical and Csparse_symmetric_to_general.
1045            * R/dgCMatrix.R,dsCMatrix.R,Csparse.R : Consolidate general
1046            coercion methods between CsparseMatrix and TsparseMatrix.
1047    
1048    2006-08-14  Douglas Bates  <bates@R-project.org>
1049    
1050            * R/dtCMatrix.R,dgCMatrix.R,Csparse.R src/init.c,dgCMatrix.[ch],
1051            Csparse.[ch],chm_common.c,dense.c : Use CHOLMOD code and methods
1052            for CsparseMatrix, TsparseMatrix, denseMatrix or matrix when
1053            possible.
1054    
1055    2006-08-12  Douglas Bates  <bates@R-project.org>
1056    
1057            * src/chm_common.[ch],Csparse.[ch],Tsparse.[ch],CHMfactor.c,dtTMatrix.c,
1058              dgTMatrix.c,dgCMatrix.c,dsCMatrix.c,dtTMatrix.c, R/dsTMatrix.R,
1059              Tsparse.R,Csparse.R,dgTMatrix.R,dsCMatrix.R,lsCMatrix.R:
1060              generalize conversions between TsparseMatrix, CsparseMatrix,
1061              denseMatrix and matrix.  Preserve triangularity property and
1062              propagate Dimnames in the easy cases.
1063    
1064    2006-08-10  Douglas Bates  <bates@R-project.org>
1065    
1066            * src/lmer.c: adjust checks in glmer_init for S4SXP
1067            * tests/validObj.R: check of all(eq) should be all(eq@x) - worked
1068            before S4SXP but for the wrong reasons.
1069    
1070    2006-08-08  Douglas Bates  <bates@R-project.org>
1071    
1072            * src/Csparse.c (Csparse_crossprod): tcrossprod result has stype = -1.
1073            Later modified to return the upper triangle only.
1074            * R/dgTMatrix.R: Remove vestigial crossprod and tcrossprod methods.
1075    
1076    2006-08-07  Douglas Bates  <bates@R-project.org>
1077    
1078            * src/Csparse.c (Csparse_crossprod): Set stype on result to avoid
1079            R-level conversion to a sparse symmetric class.
1080            * R/Tsparse.R,R/Csparse.R (crossprod and tcrossprod methods):
1081            Remove conversion to sparse symmetric classes (now done in C code).
1082    
1083    2006-08-07  Martin Maechler  <maechler@stat.math.ethz.ch>
1084    
1085            * R/dgCMatrix.R: disable old crossprod and tcrossprod methods
1086            * man/band.Rd:  adapt the \dontshow{} unit test.
1087    
1088    2006-08-07  Martin Maechler  <maechler@stat.math.ethz.ch>
1089    
1090            * DESCRIPTION (Version): 0.995-14  for CRAN
1091    
1092            * tests/other-pkgs.R: oops: library(Matrix) outside *if* !
1093    
1094            * R/sparseMatrix.R (Tsp2grNEL): fixed Tsparse -> graph coercion
1095            * tests/other-pkgs.R:  more checks, sparseMatrix -> graph
1096    
1097            * R/Auxiliaries.R (as_Tsparse, as_Rsparse): new
1098            * R/Tsparse.R (tril, triu, band): methods
1099            * R/dgRMatrix.R (tril, ...):    ditto
1100            * man/band.Rd:                  ditto
1101    
1102    2006-08-04  Martin Maechler  <maechler@stat.math.ethz.ch>
1103    
1104            * R/Matrix.R (head, tail): directly use utils:::head.matrix
1105                    to be up-to-date automatically.
1106    
1107    2006-08-03  Martin Maechler  <maechler@stat.math.ethz.ch>
1108    
1109            * DESCRIPTION (Version): 0.995-13 to be released to CRAN
1110    
1111            * DESCRIPTION (Lazydata): no, instead of 'yes' because it fails for:
1112            * data/CAex.R, inst/external/CAex_slots.rda: replacing data/CAex.rda
1113            * data/KNex.R, inst/external/KNex_slots.rda: replacing data/KNex.rda
1114            such that the S4 objects are always created by the current version
1115            of R and 'Matrix' class definitions.
1116    
1117    2006-08-01  Douglas Bates  <bates@R-project.org>
1118    
1119            * R/lmer.R (LMEoptimize method), tests/lmer.R,
1120            inst/external/test3comp.rda: Added warnings for convergence on
1121            boundary and test cases.
1122    
1123            * src/lmer.c (mer_postVar): Modified to return the variances that
1124            are marginal to the fixed effects, not conditional on them (which
1125            is what the bVar slot contents represent).
1126    
1127    2006-07-31  Douglas Bates  <bates@R-project.org>
1128    
1129            * NAMESPACE, src/lmer.c, R/lmer.R (hatTrace):  Add the hatTrace
1130            function which calls the C function mer_hat_trace2.
1131    
1132            * man/ranef.Rd: Include description of "postVar" argument and
1133            producing a caterpillar plot.
1134    
1135    2006-07-31  Martin Maechler  <maechler@stat.math.ethz.ch>
1136    
1137            * NAMESPACE:    change  "correlation" to "corMatrix"
1138            * R/AllClass.R: to avoid clash with S3 class in 'nlme'.
1139            * R/dpoMatrix.R: ditto
1140            * R/lmer.R:      ditto
1141    
1142    2006-07-28  Douglas Bates  <bates@R-project.org>
1143    
1144            * src/lmer.c (internal_mer_RZXinv): Split the calculation of the
1145            RZXinv slot's contents into a separate internal function that can
1146            be used in mer_hat_trace.
1147    
1148    2006-07-22  Martin Maechler  <maechler@stat.math.ethz.ch>
1149    
1150            * R/Matrix.R: Coercions "Matrix" -> (sparse|dense)Matrix
1151            via new smart
1152            * R/Auxiliaries.R (as_Csparse, as_dense, .M.shapse): new
1153            utility functions.
1154    
1155    
1156    2006-07-21  Martin Maechler  <maechler@stat.math.ethz.ch>
1157    
1158            * R/Csparse.R (tril, triu, band): do return *triangular* classed
1159            matrices when appropriate; band() even symmetric ones.
1160            (replCmat): extend to potentially all "CsparseMatrix"
1161            * R/Tsparse.R (replTmat): extend to all "TsparseMatrix"; hence
1162            allow subassignment for special sparse matrices.
1163    
1164            * R/Auxiliaries.R (as_geClass): factor out the  .M.kind() functionality
1165    
1166            * src/lmer.c (mer_MCMCsamp, glmer_MCMCsamp): new 'verbose'
1167            argument; in glmer_*(): print only if(verbose).
1168    
1169            speed-optimize a few places by moving REAL(.) out of loops.
1170    
1171            * src/lmer.h, src/init.h, R/lmer.R:  related to above.
1172    
1173    2006-07-20  Martin Maechler  <maechler@stat.math.ethz.ch>
1174    
1175            * R/Matrix.R("["): disable ("Matrix", i = "logical", j = "missing"),
1176                    since that wrongly triggers also for M[ logi , ]
1177    
1178            * R/denseMatrix.R: "[" methods now also work e.g. when indexing
1179            a symmetric matrix that results in a non-symmetric one.
1180            * R/Auxiliaries.R (as_geClass): new function used in "[" above.
1181    
1182            * R/dMatrix.R: make round(M) work as round(M, 0)
1183    
1184            * R/dgTMatrix.R (image): coordinate system and axis now use
1185            1-based indices, not 0-based ones.
1186    
1187            * R/Tsparse.R (.ind.prep for "["): get rid of max(<empty>) warning.
1188            * tests/indexing.R: test it.
1189    
1190            * NAMESPACE: export isSymmetric(); has been a generic in "base" for a while;
1191            * man/isSymmetric-methods.Rd: and document it.
1192    
1193            * R/SparseM-conv.R: added coercion methods for some 'SparseM' matrices.
1194            * man/SparseM-conv.Rd: docu them
1195    
1196            * tests/other-pkgs.R: renamed from tests/graph.R and add example
1197                    for 'SparseM' conversions
1198    
1199    2006-07-17  Douglas Bates  <Douglas.Bates@R-project.org>
1200    
1201            * R/Matrix.R (head): added head() and tail() methods.
1202    
1203    2006-07-17  Martin Maechler  <maechler@stat.math.ethz.ch>
1204    
1205            * DESCRIPTION (Version): 0.995-12 released to CRAN
1206    
1207    2006-07-15  Martin Maechler  <maechler@stat.math.ethz.ch>
1208    
1209            * tests/simple.R: add check for correct dsT -> dgT coercion;
1210                    add check for correct printing of symmetric sparse matrices.
1211    
1212            * R/Auxiliaries.R (non0ind): return *all* non-0 entry indices also
1213            for sparse symmetric matrices.
1214    
1215            * src/dsTMatrix.c (dsTMatrix_as_dgTMatrix): do not copy the
1216            diagonal twice.
1217    
1218    2006-07-11  Douglas Bates  <Douglas.Bates@R-project.org>
1219    
1220            * src/dsTMatrix.c (dsTMatrix_as_dgTMatrix): Fix a case of INTEGER
1221            being applied to the x slot (detected by Brian Ripley).
1222    
1223    2006-07-10  Martin Maechler  <maechler@stat.math.ethz.ch>
1224    
1225            * src/dgCMatrix.c (dgCMatrix_validate): 'p' slot must have correct length.
1226    
1227            * R/Auxiliaries.R (isTriC): fix buglet (we were 1-based!)
1228    
1229    2006-07-08  Martin Maechler  <maechler@stat.math.ethz.ch>
1230    
1231            * src/lgCMatrix.c (lgCMatrix_diag): new function
1232            * R/lgCMatrix.R (diag): for new method
1233    
1234            * R/AllClass.R (TsparseMatrix): do use Tsparse_validate
1235                 ==> construction of illegal "*gTMatrix" via new() should
1236                 now be much less easy:
1237            * tests/Class+Meth.R: assertError() for some illegal "dgT*"
1238    
1239            * R/Matrix.R (Matrix): Matrix(0, nrow,ncol) now "goes sparse"
1240                    directly.
1241            * man/Matrix.Rd: documents it.
1242    
1243    2006-07-06  Douglas Bates  <bates@R-project.org>
1244    
1245            * src/pedigree.c (pedigree_inbreeding): Correction in
1246            initialization.  This function is not currently being used and is
1247            not fully tested.
1248    
1249            * NAMESPACE, R/{AllClass.R,lmer.R}, src/{init.c,lmer.c}:
1250            Introduced the glmer class.  Added code for mcmcmsamp on glmer
1251            objects.  Modified validity check on pedigree objects to account
1252            for nonparallel patterns of missingness of parents.
1253    
1254            * man/{lmer-class.Rd,mcmcsamp.Rd}: Update documentation for glmer
1255            class.
1256    
1257    2006-07-01  Martin Maechler  <maechler@stat.math.ethz.ch>
1258    
1259            * R/pMatrix.R: coercion pMatrix -> Tsparse
1260    
1261    2006-06-12  Douglas Bates  <bates@R-project.org>
1262    
1263            * DESCRIPTION (Version): 0.995-11 released to CRAN
1264    
1265            * R/lmer.R (mcmcsamp method): Corrected arrangments of names on
1266            the output from mcmcsamp.
1267    
1268    2006-06-10  Douglas Bates  <bates@R-project.org>
1269    
1270            * R/lmer.R (simulestimate): added C code for calculating the trace
1271            of the hat matrix.
1272    
1273    2006-06-09  Martin Maechler  <maechler@stat.math.ethz.ch>
1274    
1275            * R/diagMatrix.R (setAs): define coercion methods to sparse matrix
1276            classes.
1277            * R/sparseMatrix.R etc: multiplication of diagonal and sparse
1278    
1279    2006-06-08  Martin Maechler  <maechler@stat.math.ethz.ch>
1280    
1281            * R/dgTMatrix.R (colSums): etc. All four of
1282            colSums(), rowSums(), colMeans(), rowMeans() now should work for
1283            all "Matrices".
1284    
1285    2006-06-01  Douglas Bates  <bates@stat.wisc.edu>
1286    
1287            * R/lmer.R (panel.ci): Add a reference line at zero and a
1288            background grid to the qqmath plot of ranef.lmer.
1289    
1290    2006-05-30  Douglas Bates  <bates@stat.wisc.edu>
1291    
1292            * R/lmer.R (expandSlash): Functions (non-exported) to allow nested
1293            grouping factors to be specified in the formula as (1|foo/bar).
1294    
1295    2006-05-27  Douglas Bates  <bates@stat.wisc.edu>
1296    
1297            * R/lmer.R (findbars and others): Change check of is.numeric to
1298            !is.language to resolve the bug reported by Jacob Wegelin.
1299    
1300            * src/pedigree.c (pedigree_inbreeding): Initial implementation of
1301            code to evaluate inbreeding coefficients without calculating T,
1302            based on code in Sargolzaei and Iwaisaki's paper.
1303    
1304    2006-05-27  Douglas Bates  <bates@stat.wisc.edu>
1305    
1306            * R/{lmer.R,AllGeneric.R}, src/{init.c,lmer.[ch]}: Added local
1307            generic and mer methods for isNested and denomDF. This denomDF was
1308            an attempt to emulate that in lme but I don't think that makes
1309            sense.  Use the trace of the hat matrix instead.
1310    
1311    2006-05-17  Martin Maechler  <maechler@stat.math.ethz.ch>
1312    
1313            * R/sparseMatrix.R: Matrix <-> graph methods: can no longer use
1314            the C code depending on a slot structure that's no longer valid.
1315            * src/dgTMatrix.c: ditto (also: src/init.c src/dgTMatrix.h)
1316    
1317    
1318    2006-05-17  Douglas Bates  <bates@stat.wisc.edu>
1319    
1320            *  R/{AllGeneric.R,Csparse.R},man/band.Rd,NAMESPACE: changed name
1321            of lowerTriMatrix generic and methods to tril (also upper to triu)
1322            and added a general band extractor.
1323    
1324    2006-05-16  Douglas Bates  <bates@stat.wisc.edu>
1325    
1326            * R/pedigree.R (pedigree): Replace sire and dam values outside the
1327            allowable range with NAs. Added a corresponding check in the
1328            validity check for the pedigree class.
1329    
1330            * R/[CT]sparse.R ([t]crossprod): The result of single-argument
1331            crossprod methods now inherits from symmetricMatrix.
1332    
1333    2006-05-15  Douglas Bates  <bates@stat.wisc.edu>
1334    
1335            * R/AllGeneric.R (lowerTriMatrix): Added (but did not export)
1336            generics lowerTriMatrix and upperTriMatrix along with methods for
1337            the Csparse virtual class.  Also added a C function Csparse_band
1338            that implements these methods by calling cholmod_band.
1339    
1340    2006-05-15  Martin Maechler  <maechler@stat.math.ethz.ch>
1341    
1342            * R/Tsparse.R ("["): column or row subsetting; @Dimnames[k] got
1343            erased when it was NULL.  This led to invalid subselections!
1344    
1345    2006-04-25  Douglas Bates  <bates@stat.wisc.edu>
1346    
1347            * R/dtCMatrix.R: avoid coercion of dtCMatrix object to dgCMatrix
1348            in method for "t" so as not to lose the unit diagonal property.
1349    
1350    2006-04-19  Douglas Bates  <bates@stat.wisc.edu>
1351    
1352            * R/lmer.R, R/AllGeneric.R, NAMESPACE: Remove the postVar generic
1353            and methods.  This is now an option to the ranef method for the
1354            mer class.
1355    
1356            * src/cs_utils.c: Ensure that the nz component is -1 for a
1357            compressed column-oriented matrix.  Minor formatting cleanup.
1358    
1359            * man/lmer-class.Rd: Document the qqmath method for ranef.lmer
1360            objects.
1361    
1362    2006-04-19  Martin Maechler  <maechler@stat.math.ethz.ch>
1363    
1364            * R/Auxiliaries.R (diagU2N): new for the solve() methods in
1365            * R/dtCMatrix.R: where dgC -> dgT coercion now preserves diag = "U".
1366    
1367    2006-04-15  Douglas Bates  <bates@stat.wisc.edu>
1368    
1369            * src/cs.[ch],src/cs_utils.[ch] : Added Tim Davis' CSparse library
1370            in cs.[ch] and utilities to interface to that code in cs_utils.[ch].
1371    
1372            * R/dtCMatrix.R, src/dtCMatrix.[ch] : CSparse-based solve methods
1373            for the dtCMatrix class.
1374    
1375    2006-04-12  Douglas Bates  <bates@stat.wisc.edu>
1376    
1377            * R/pedigree.R, R/AllClass.R, NAMESPACE: added a pedigree class
1378            and methods for it.
1379    
1380    2006-04-12  Martin Maechler  <maechler@stat.math.ethz.ch>
1381    
1382            * R/dgCMatrix.R: add  storage.mode(.) <- "double" for "matrix"
1383            arguments, such that M %*% 1:6 now works
1384            * Tests/matprod.R: test the above
1385    
1386    2006-04-03  Douglas Bates  <bates@stat.wisc.edu>
1387    
1388            * R/lmer.R (qqmath,ranef.lmer-method): added a qqmath method for
1389            the ranef.lmer class.
1390    
1391            * R/AllClass.R, NAMESPACE, R/lmer.R: Added a postVar generic and
1392            methods to extract the posterior variances from the bVar slot.
1393    
1394    2006-03-30  Martin Maechler  <maechler@stat.math.ethz.ch>
1395    
1396            * R/dtCMatrix.R: allow coercion from  dgC* to triangular (dtC*)
1397            * R/dsCMatrix.R: and symmetric (dsC*) 'Csparse' matrices.
1398    
1399            * R/Tsparse.R: Tsparse* -> Csparse* coercion now works and is tested in
1400            * tests/simple: (extended)
1401    
1402            * R/sparseMatrix.R (isTriangular): now using much improved
1403            * R/Auxiliaries.R (isTriC): new triangularity check for *CMatrix
1404    
1405    2006-03-23  Douglas Bates  <bates@stat.wisc.edu>
1406    
1407            * src/dsyMatrix.c (dsyMatrix_as_dspMatrix): Propagate DimNames
1408            (problem report from Franklin Parlamis).  This should be done
1409            generally.
1410    
1411    2006-03-21  Douglas Bates  <bates@stat.wisc.edu>
1412    
1413            * R/AllClass.R,lmer.R: Change the name of the lmer.ranef class to
1414            ranef.lmer (like summary.lmer).  Add the coef.lmer class and
1415            update the plot methods.
1416    
1417    2006-03-20  Douglas Bates  <bates@stat.wisc.edu>
1418    
1419            * R/lmer.R (resid and ranef methods):  Added methods for the
1420            "residuals" and "resid" generic but only for linear mixed model
1421            fits.  Changed the ranef method to return a list of data frames so
1422            that the plot methods now work.
1423    
1424    2006-03-16  Douglas Bates  <bates@bates2>
1425    
1426            * src/dpoMatrix.c (dpoMatrix_chol): Require n > 0 in call to
1427            dpotrf - otherwise the BLAS on Mac OS X complains and quits.
1428    
1429            * DESCRIPTION (Date): New release
1430    
1431    2006-03-15  Martin Maechler  <maechler@stat.math.ethz.ch>
1432    
1433            * DESCRIPTION (Version): 0.995-6  -- to be released to CRAN
1434    
1435            * data/KNex.rda: replacing 'mm' and 'y' by KNex <- list(mm=mm, y=y)
1436            * man/KNex.Rd: and other help files
1437            * tests/*.R: several ones needed adaption
1438            * inst/doc/Comparisons.Rnw: ditto
1439    
1440    2006-03-11  Martin Maechler  <maechler@stat.math.ethz.ch>
1441    
1442            * R/dgCMatrix.R (replCmat): "[<-" methods for dgCMatrix
1443    
1444            * tests/indexing.R: tests for new [<- methods for sparse matrices.
1445    
1446    2006-03-10  Martin Maechler  <maechler@stat.math.ethz.ch>
1447    
1448            * R/dgTMatrix.R (replTmat): "[<-" methods for dgTMatrix
1449    
1450            * R/Tsparse.R (.ind.prep): fix out-of-range indexing
1451    
1452    2006-03-08  Martin Maechler  <maechler@stat.math.ethz.ch>
1453    
1454            * R/dMatrix.R: enable things like  M [ M < 10 ]
1455            * R/dgeMatrix.R: implement it
1456    
1457    2006-03-06  Martin Maechler  <maechler@stat.math.ethz.ch>
1458    
1459            * R/AllClass.R: define "summary.mer" and "*.lmer"
1460            * R/lmer.R (summary): summary(<mer>) computes & returns the above;
1461            * R/lmer.R (show): now works with summary()
1462    
1463    2006-03-04  Martin Maechler  <maechler@stat.math.ethz.ch>
1464    
1465            * R/dgCMatrix.R: finally direct "Arith"  dgC o dgC
1466            * R/Auxiliaries.R (WhichintersectInd): and other utilities to
1467                    support the above
1468    
1469    2006-02-07  Douglas Bates  <bates@stat.wisc.edu>
1470    
1471            * R/lmer.R (lmer): fix initial values of offset and weights for glm.fit.
1472            Use glmFit$prior.weights for weights in a glmm.
1473            Allow an option usePQL = FALSE to skip the PQL steps for the
1474            Laplace method (and, in time, the AGQ method).
1475    
1476            * src/lmer.c (mer_factor): Move downdating and factoring of XtX
1477            into a separate function internal_mer_Xfactor to be able to call
1478            it from internal_bhat.
1479    
1480    2006-01-23  Martin Maechler  <maechler@stat.math.ethz.ch>
1481    
1482            * tests/Class+Meth.R (tstMatrixClass): function for much better
1483            testing; now again of all actual classes.
1484    
1485            * src/Mutils.c (MAKE_TRIANGULAR_BODY, MAKE_SYMMETRIC_BODY):
1486                    use macros and define make_d_matrix_* and make_i_matrix_*
1487                    where _i_ is for the ldense routines:
1488    
1489            * src/ldense.c (ltrMatrix_as_lgeMatrix): provide functions
1490            * src/ldense.c (lsyMatrix_as_lgeMatrix):
1491    
1492            * R/ldenseMatrix.R: use the above in setAs(*,"lgeMatrix")
1493    
1494    
1495    2006-01-16  Martin Maechler  <maechler@stat.math.ethz.ch>
1496    
1497            * R/Matrix.R (Matrix): has become much "smarter" now auto-producing
1498                    many different kinds of matrices.
1499            * R/*.R: quite a few new methods were needed for R CMD check with
1500                    new Matrix().  Very good for users playing around.
1501    
1502    
1503    2006-01-15  Martin Maechler  <maechler@stat.math.ethz.ch>
1504    
1505            * src/dgeMatrix.c (dMatrix_validate): new
1506            * src/Mutils.c (dense_nonpacked_validate): new
1507    
1508            * src/dtrMatrix.c (dtrMatrix_validate): improved/fixed
1509    
1510    
1511    2006-01-14  Douglas Bates  <bates@stat.wisc.edu>
1512    
1513            * R/AllClass.R (compMatrix), (generalMatrix): new virtual classes
1514    
1515    2006-01-07  Douglas Bates  <bates@stat.wisc.edu>
1516    
1517            * DESCRIPTION (Version): 0.99-6 released to CRAN
1518    
1519            * src/dgBCMatrix.c (cscb_trcbsm): Fix due to Peter Dalgaard for
1520            segfault in cases with multiple non-nested grouping factors.
1521    
1522    2006-01-03  Martin Maechler  <maechler@stat.math.ethz.ch>
1523    
1524            * DESCRIPTION (Version): 0.99-4 to be released to CRAN
1525                    (Depends): also on 'utils'
1526    
1527            * R/AllClass.R (diagonalMatrix): new class with "ddi*" and "ldi*"
1528            * R/diagMatrix.R (Diagonal): constructor and methods for
1529            diagonal matrices
1530    
1531            * R/ltTMatrix.R: new "minimal methods"
1532    
1533    2005-12-12  Martin Maechler  <maechler@stat.math.ethz.ch>
1534    
1535            * R/AllGeneric.R (tcrossprod): 2-argument version; here, and for
1536            all methods (and help files).
1537    
1538    2005-12-09  Martin Maechler  <maechler@stat.math.ethz.ch>
1539    
1540            * R/Auxiliaries.R (dimNamesCheck): fixed thinko -> bug
1541                    for case (dimn.  op  no_dimn.)
1542    
1543    2005-11-14  Douglas Bates  <bates@stat.wisc.edu>
1544    
1545            * DESCRIPTION (Version): 0.99-2  released to CRAN
1546    
1547    2005-10-21  Douglas Bates  <bates@stat.wisc.edu>
1548    
1549            * R/lmer.R (simulate method): Fixed a drop=FALSE problem reported
1550            by Julian Faraway.
1551    
1552    2005-10-06  Martin Maechler  <maechler@stat.math.ethz.ch>
1553    
1554            * R/Auxiliaries.R (try_as): new utility
1555            * R/sparseMatrix.R: use try_as() in coercion to original class
1556    
1557    2005-09-30  Martin Maechler  <maechler@stat.math.ethz.ch>
1558    
1559            * src/dgCMatrix.c (double_to_csc): and dgeMatrix_to_csc()
1560    
1561    2005-09-29  Martin Maechler  <maechler@stat.math.ethz.ch>
1562    
1563            * R/Auxiliaries.R (dimNamesCheck): added
1564    
1565            * R/Matrix.R (as.array), (as.vector): new
1566    
1567    2005-09-28  Martin Maechler  <maechler@stat.math.ethz.ch>
1568    
1569            * R/Matrix.R (Matrix): get logical argument 'sparse' with a smart
1570                    default.
1571            * R/AllClass.R: move 'factors' slot toplevel "Matrix";
1572                    "pMatrix" now contains "sparseMatrix"
1573    
1574    2005-09-26  Martin Maechler  <maechler@stat.math.ethz.ch>
1575    
1576            * tests/Class+Meth.R: new tests; t(t(m)) == m
1577    
1578            * src/dtCMatrix.c (tsc_transpose): add forgotten "diag" slot
1579    
1580            * src/dsTMatrix.c (dsTMatrix_as_dsCMatrix): bad typo (segfault!)
1581            * src/dtTMatrix.c (dtTMatrix_as_dtCMatrix): new
1582    
1583            * R/dspMatrix.R: typo in "t" method
1584    
1585    2005-09-18  Douglas Bates  <bates@wisc.edu>
1586    
1587            * R/AllClass.R (TsparseMatrix), CsparseM* and RsparseM*
1588            * R/Tsparse.R: instead of R/gTMatrix.R
1589            * R/Csparse.R: new
1590            * src/Tsparse.c (Tsparse_to_Csparse): new; -> cholmod_()
1591            * src/Tsparse.c: new; many trivial methods calling cholmod_()
1592            * src/Csparse.c (Csparse_to_Tsparse), transpose, (mat|cross)prod:
1593                            via cholmod
1594    
1595    2005-09-16  Martin Maechler  <maechler@stat.math.ethz.ch>
1596    
1597            * R/Auxiliaries.R (non0ind): new function using new C code
1598            * src/dgCMatrix.c (compressed_non_0_ij): new utility
1599    
1600    2005-09-15  Douglas Bates  <bates@localhost.localdomain>
1601    
1602            * src/chm_common.h: header file required by all C sources that
1603            call CHOLMOD functions.  It defines a cholmod_common structure
1604            called 'c' whose address is passed as the last argument to
1605            (virtually) every CHOLMOD function.
1606    
1607            * src/Pattern.c: Simple example of the use of CHOLMOD.
1608    
1609            * src/init.c: initialize and finalize the cholmod_common structure.
1610    
1611            * src/Makefile: Added source packages CHOLMOD UMFPACK AMD COLAMD
1612            LDL and CCOLAMD from the U. of Florida sparse matrix library.
1613    
1614    2005-09-08  Martin Maechler  <maechler@stat.math.ethz.ch>
1615    
1616            * inst/test-tools.R: new file collecting the utility functions used
1617                    in ./tests/*.R
1618    
1619            * R/ddenseMatrix.R (cbind2): new methods for "numeric" and "matrix"
1620            * R/Matrix.R (cbind2): methods for NULL and missing
1621    
1622    2005-08-31  Martin Maechler  <maechler@stat.math.ethz.ch>
1623    
1624            * R/AllClass.R: new "index" class for "[" and "[<-":
1625                    First cut at "symmetricMatrix" and "triangularMatrix"
1626            * R/gTMatrix.R (.ind.prep): new function;
1627                    Logical and character indexing now work too.
1628            * R/Matrix.R: cheap "[<-" methods for denseMatrix now work
1629            * tests/indexing.R: new, including *.Rout.save
1630            * tests/dgTMatrix.R: new
1631    
1632    2005-08-29  Douglas Bates  <bates@wisc.edu>
1633    
1634            * src/dgTMatrix.c (graphNEL_as_dgTMatrix): Corrected the position
1635            indicator pos not being updated.  Also enforced upper triangular
1636            for symmetric case.  Need to coerce edges component of elements of
1637            edge list - grr! (Why don't they define their classes cleanly?)
1638    
1639    2005-08-26  Martin Maechler  <maechler@stat.math.ethz.ch>
1640    
1641            * R/Matrix.R:  added first "[<-" methods; not yet functional
1642            * R/denseMatrix.R: ditto
1643            * man/Subassign-methods.Rd: new help file for these
1644    
1645    2005-08-25  Martin Maechler  <maechler@stat.math.ethz.ch>
1646    
1647            * DESCRIPTION (Version): 0.98-6
1648    
1649            * R/denseMatrix.R: new file for "[" fallback methods for all dense
1650            matrices.
1651    
1652    2005-08-19  Martin Maechler  <maechler@stat.math.ethz.ch>
1653    
1654            * src/lgCMatrix.c (lcsc_to_matrix): new; need for
1655                    as( <logical>, "matrix")
1656    
1657            * R/pMatrix.R: coercion to "lgTMatrix"
1658    
1659            * R/gTMatrix.R: new virtual class to define "[" methods for.
1660            * man/gTMatrix-class.Rd:
1661            * General slight re-organization of where "[" methods are defined.
1662              more to come.
1663    
1664    2005-08-18  Douglas Bates  <bates@wisc.edu>
1665    
1666            * DESCRIPTION (Version): 0.98-5  released to CRAN
1667    
1668            * src/dgTMatrix.c (graphNEL_as_dgTMatrix): add first graphNEL methods
1669            * .....
1670    
1671    2005-08-18  Douglas Bates  <bates@localhost.localdomain>
1672    
1673            * R/lmer.R: Corrected naming scheme in mcmcsamp to work with lmer
1674            or glmer objects.
1675    
1676    2005-08-17  Martin Maechler  <maechler@stat.math.ethz.ch>
1677    
1678            * DESCRIPTION (Version): 0.98-4 : upload to CRAN
1679    
1680    2005-08-16  Douglas Bates  <bates@localhost.localdomain>
1681    
1682            * R/HBMM.R: finish re-writing R-only code.
1683    
1684    2005-08-15  Douglas Bates  <bates@localhost.localdomain>
1685    
1686            * man/externalFormats.Rd: move documentation for writeHB and
1687            writeMM here.
1688    
1689            * src/mmio.c: replace inclusion of <malloc.h> by <stdlib.h>
1690            (suggested by Paul Roecker).
1691    
1692            * tests/validObj.R (assertError): Comment out test that is failing
1693            after recent changes in r-devel.
1694    
1695    
1696    2005-08-11  Martin Maechler  <maechler@stat.math.ethz.ch>
1697    
1698            * R/AllClass.R: intermediate virtual class "denseMatrix"
1699            * man/denseMatrix-class.Rd
1700            * NAMESPACE: export it, and also export
1701            * man/unused-classes.Rd: "iMatrix", "zMatrix" and "ldenseMatrix"
1702    
1703    2005-08-10  Douglas Bates  <bates@wisc.edu>
1704    
1705            * DESCRIPTION (Version): 0.98-3 to CRAN
1706    
1707            * src/dtrMatrix.c (dtrMatrix_validate): fixed up validation and
1708            matrix_solve code (which was really, really wrong).
1709    
1710  2005-08-07  Douglas Bates  <bates@wisc.edu>  2005-08-07  Douglas Bates  <bates@wisc.edu>
1711    
1712          * DESCRIPTION (Version): 0.98-2          * DESCRIPTION (Version): 0.98-2

Legend:
Removed from v.835  
changed lines
  Added in v.1932

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