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

Legend:
Removed from v.848  
changed lines
  Added in v.1904

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