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

Legend:
Removed from v.1091  
changed lines
  Added in v.1852

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