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

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

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