SCM

SCM Repository

[matrix] Diff of /pkg/ChangeLog
ViewVC logotype

Diff of /pkg/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

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

Legend:
Removed from v.876  
changed lines
  Added in v.1964

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