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

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