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

Legend:
Removed from v.1268  
changed lines
  Added in v.1966

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