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

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

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