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

Legend:
Removed from v.1271  
changed lines
  Added in v.1855

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