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

Legend:
Removed from v.1298  
changed lines
  Added in v.1863

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