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

Legend:
Removed from v.876  
changed lines
  Added in v.1834

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