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

Legend:
Removed from v.848  
changed lines
  Added in v.1786

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