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

Legend:
Removed from v.956  
changed lines
  Added in v.1847

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