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 687, Fri Apr 1 07:36:09 2005 UTC revision 2110, Sat Jan 26 20:59:26 2008 UTC
# Line 1  Line 1 
1    2008-01-26  Martin Maechler  <maechler@stat.math.ethz.ch>
2    
3            * R/Matrix.R (.M.sub.i.2col): fix for logical matrix indexing
4            * R/Tsparse.R (.TM.sub.i.2col, .TM.repl.i.2col): ditto;
5                    now, M[lower.tri(M)] and  M[lower.tri(M)] <- v  work better
6    
7            * src/Tsparse.c (Tsparse_to_tCsparse): new fast utility.
8            * src/Tsparse.h, init.c: ditto
9            * R/Auxiliaries.R (isTriT): new; faster than going via Csparse
10                 both isTriC() and isTriT() now return TRUE with "kind" or FALSE.
11            * R/sparseMatrix.R (isTriangular): hence simplified
12    
13    2008-01-24  Martin Maechler  <maechler@stat.math.ethz.ch>
14    
15            * R/Ops.R (.Arith.Csparse): new utility factored out of former
16              <dgC> o <dgC>, extended for triangular and also used in  <dtC> o <dtC>.
17    
18    2008-01-23  Martin Maechler  <maechler@stat.math.ethz.ch>
19    
20            * tests/factorizing.R (checkSchur): and more tests for checking Schur()
21    
22            * inst/test-tools.R (isOrthogonal): new function; also file restructured
23    
24    2008-01-22  Martin Maechler  <maechler@stat.math.ethz.ch>
25    
26            * R/ngTMatrix.R: allow as(<numeric matrix>, "ngTMatrix") and hence
27            coercion to "nMatrix" and "pMatrix"
28    
29            * R/AllClass.R: "Schur" class;  "number" class union
30            * man/number-class.Rd:
31            * man/Schur-class.Rd:
32    
33            * R/eigen.R (.dgeSchur): utility, and return "Schur" class
34            (.simpleSchur): Schur() method for diagonal matrices
35            (.triSchur):    Schur() method for triangular matrices
36            (Schur.sym):    Schur() for symmetric matrices {building on eigen()}.
37    
38    
39    2008-01-21  Martin Maechler  <maechler@stat.math.ethz.ch>
40    
41            * src/dgCMatrix.c (dgCMatrix_QR): set @Dim slot (as per doc)
42    
43    2008-01-15  Martin Maechler  <maechler@stat.math.ethz.ch>
44    
45            * R/CHMfactor.R (solve): method for b="numeric", but also b="ANY"
46                    in order to ensure 'system = *' is not lost;
47                    formals()$system instead of cut&paste.
48            * tests/factorizing.R: test solve(<CHM..>, <numeric>)
49    
50    2008-01-11  Martin Maechler  <maechler@stat.math.ethz.ch>
51    
52            * DESCRIPTION (Date): make ready for release --> 0.999375-4
53    
54            * R/dgeMatrix.R: fix rcond() method for "dgeMatrix".
55    
56    2007-12-08  Martin Maechler  <maechler@stat.math.ethz.ch>
57    
58            * R/pMatrix.R: as(*, "matrix") now returns 0/1 *integer* matrix,
59                    and hence does as.vector(.).
60            * man/pMatrix-class.Rd: docs
61            * R/sparseMatrix.R: fix for printing "integer sparse"
62    
63            * tests/Class+Meth.R (tstMatrixClass): test M[FALSE], M[2] etc
64    
65            * R/Matrix.R and others: use "exact" function argument list for
66                    both "["   : (x, i,j, ..., drop)
67                    and  "[<-" : (x, i,j, ..., value)
68    
69            * R/denseMatrix.R: M[i] and M[i] <- v  (i vector) now work
70            * R/Tsparse.R (replTmat):    ditto
71            * R/diagMatrix.R (replDiag): ditto
72            * R/Csparse.R (replCmat):    ditto {was it worth the pain?}
73            * tests/indexing.R: testing the above
74    
75    2007-12-07  Martin Maechler  <maechler@stat.math.ethz.ch>
76    
77            * R/sparseMatrix.R (cov2cor): method for sparse matrices
78    
79            * R/diagMatrix.R ([<-): fix   D[ cbind(i,j) ] <- v
80    
81            * R/bind2.R: fix for Rsparse* and rbind2(dense,dense)
82    
83            * tests/Class+Meth.R: test cbind2, rbind2  and  diag<-
84    
85    2007-12-06  Martin Maechler  <maechler@stat.math.ethz.ch>
86    
87            * R/Matrix.R: "generic" cov2cor() method
88    
89            * R/nearPD.R: new 'only.values', 'keepDiag' arguments;
90                    speed up Q %*% D %*% t(Q)
91            * tests/dpoMatrix.R: test nearPD()
92    
93    2007-12-05  Doug Bates and Martin Maechler
94    
95            * R/sparseMatrix.R: xtabs(*, sparse=.) function; an extention of
96            stats::xtabs() allowing to create sparse matrices.
97    
98    2007-10-08  Martin Maechler  <maechler@stat.math.ethz.ch>
99    
100            * DESCRIPTION (Version): *-4 (released *-3 two days ago)
101    
102    2007-10-06  Martin Maechler  <maechler@stat.math.ethz.ch>
103    
104            * R/pMatrix.R: solve(<Matrix>, <pMatrix>)
105    
106    2007-10-05  Martin Maechler  <maechler@stat.math.ethz.ch>
107    
108            * R/LU.R: solve() method for "denseLU"
109    
110    2007-10-01  Martin Maechler  <maechler@stat.math.ethz.ch>
111    
112            * DESCRIPTION (Version): 0.999375-3 preparing for release
113    
114            * R/AllGeneric.R: simplify  if(.) .. else .. for R <= 2.5.1
115    
116            * R/Matrix.R (Matrix): .Internal(matrix(..)) different for R >= 2.7.0
117    
118    2007-09-26  Martin Maechler  <maechler@stat.math.ethz.ch>
119    
120            * R/pMatrix.R (.m.mult.pMat): fix <matrix> %*% <pMatrix>,
121              thanks to Kasper Kristensen.
122            * tests/matprod.R: regression test for that.
123    
124    2007-09-23 17:32  Douglas Bates <bates@stat.wisc.edu>
125    
126            * [r4778] R/AllGeneric.R: Check R version before defining generics for
127              primitives
128    
129    2007-09-13  Martin Maechler  <maechler@stat.math.ethz.ch>
130    
131            * R/denseMatrix.R (rcond): method
132            * R/sparseQR.R (rcond): method, use x or t(x)
133    
134    2007-09-12  Martin Maechler  <maechler@stat.math.ethz.ch>
135    
136            * R/dgeMatrix.R (rcond): method: work via qr.R() for non-square
137            matrices.
138            * R/sparseMatrix.R: Ditto for all other rcond() method definitions.
139    
140            * man/rcond.Rd: mention the more general definition, and add
141            example for non-square matrices.
142    
143            * man/chol.Rd: new file, for the S4 chol() generic and all methods.
144    
145    2007-09-11  Martin Maechler  <maechler@stat.math.ethz.ch>
146    
147            * R/sparseQR.R: add qr.R() method [to be used for rcond()]
148    
149    2007-09-01  Martin Maechler  <maechler@stat.math.ethz.ch>
150    
151            * R/Matrix.R ([<-): add (Matrix,missing,ANY,Matrix) etc
152            * tests/indexing.R: add new regression for the above cases.
153    
154    2007-08-30  Martin Maechler  <maechler@stat.math.ethz.ch>
155    
156            * src/Mutils.h (__sun): clause for alloca.h on Solaris
157    
158    2007-08-16  Martin Maechler  <maechler@stat.math.ethz.ch>
159    
160            * DESCRIPTION (Date, Version): 0.999375-2
161    
162    2007-08-15  Martin Maechler  <maechler@stat.math.ethz.ch>
163    
164            * R/HBMM.R (readMM): make work for pattern matrices as well
165    
166    2007-08-14 13:07  Douglas Bates <bates@stat.wisc.edu>
167    
168            * [r4730] src/Mutils.h: declare alloca
169            * [r4734] NAMESPACE, R/AllGeneric.R, R/Csparse.R, R/HBMM.R, R/Tsparse.R,
170              R/dgCMatrix.R, R/dgTMatrix.R, R/dsCMatrix.R, R/dsTMatrix.R,
171              man/externalFormats.Rd, src/Csparse.c, src/Csparse.h, src/DEPS.mkf,
172              src/HBMM.c, src/HBMM.h, src/Mutils.h, src/SOURCES_C.mkf, src/init.c,
173              src/mmio.c, src/mmio.h: Remove deprecated function writeHB and its
174              methods; switch writeMM to use CHOLMOD code; repair readMM
175    
176    2007-08-14  Martin Maechler  <maechler@stat.math.ethz.ch>
177    
178            * R/nearPD.R, man/nearPD.Rd (nearPD): new function built on Jens
179            Oehlschlaegel's ... result type still to be discussed!
180    
181    2007-08-10  Martin Maechler  <maechler@stat.math.ethz.ch>
182    
183            * man/image-methods.Rd: new, combining all image() methods
184    
185    2007-08-09  Martin Maechler  <maechler@stat.math.ethz.ch>
186    
187            * R/dgCMatrix.R: define qr() and lu() methods for "sparseMatrix"
188            to work via dgC...
189    
190            * R/Matrix.R (Matrix): special treatment for "table" (S3)
191    
192    2007-08-07  Martin Maechler  <maechler@stat.math.ethz.ch>
193    
194            * R/dgTMatrix.R (image): change defaults to
195                    aspect = "iso", colorkey = FALSE
196    
197    2007-08-06  Martin Maechler  <maechler@stat.math.ethz.ch>
198    
199            * src/dsyMatrix.c (dsyMatrix_matrix_mm): 'b' might be matrix;
200            must copy its *expanded* x slot before LAPACK call.
201    
202            * tests/matprod.R: test the last days' changes.
203    
204    2007-08-06 16:43  Douglas Bates <bates@stat.wisc.edu>
205    
206            * [r4712] inst/include/Matrix_stubs.c: Change R_cholmod_printf in stubs
207              as well as in sources
208            * [r4713] src/dsyMatrix.c: Duplicate the contents of the RHS before
209              Lapack call
210    
211    2007-08-03  Martin Maechler  <maechler@stat.math.ethz.ch>
212    
213            * R/Matrix.R (%*%, crossprod, tcrossprod): add method for
214                    ("Matrix", "matrix") which is needed in some cases.
215            Ditto for solve().
216    
217            * R/colSums.R (.as.dge.Fun): need ddenseMatrix methods to avoid
218            infinite recursion in dispatch for some cases.
219    
220    2007-08-02 08:48  Martin Maechler <maechler@stat.math.ethz.ch>
221    
222            * [r4693] src/chm_common.c: R_cholmod_printf() instead of Rprintf() just
223              so pointers match
224    
225    2007-08-02  Martin Maechler  <maechler@stat.math.ethz.ch>
226    
227            * DESCRIPTION (Date): set ready for release -- 0.999375-1
228    
229    2007-08-01 15:44  Douglas Bates <bates@stat.wisc.edu>
230    
231            * [r4686] inst/include/Matrix.h, inst/include/Matrix_stubs.c,
232              src/chm_common.c, src/chm_common.h: Change API for
233              numeric_as_chm_dense and N_AS_CHM_DN
234    
235    2007-08-01  Martin Maechler  <maechler@stat.math.ethz.ch>
236    
237            * src/dtrMatrix.c (dtrMatrix_matrix_mm): fix dimensionality check (!)
238            * tests/matprod.R: regr.test for it
239    
240    2007-07-20  Martin Maechler  <maechler@stat.math.ethz.ch>
241    
242            * R/dMatrix.R: fix from Brian for   Math2(., digits = "missing")
243            * tests/group-methods.R: and regression-test it
244    
245    2007-07-19 19:45  Douglas Bates <bates@stat.wisc.edu>
246    
247            * [r4642] inst/include/Matrix.h, inst/include/Matrix_stubs.c,
248              inst/include/cholmod.h, src/chm_common.c, src/init.c: Export
249              triplet_to_sparse, documentation, use typedefs
250    
251    2007-07-18  Martin Maechler  <maechler@stat.math.ethz.ch>
252    
253            * man/dpoMatrix-class.Rd: added 'corMatrix' example
254    
255            * src/dsyMatrix.[ch] (dsyMatrix_as_matrix): new 'keep_dimnames' arg
256            * src/dtrMatrix.[ch] (dtrMatrix_as_matrix): ditto
257            * src/init.c, R/dsyMatrix.R, R/dtrMatrix.R, R/lgTMatrix.R: ditto
258    
259            * R/lsparseMatrix.R: bug fix in "all" method
260            * R/Ops.R (.do.Logic.lsparse): "|" bug in borderline case
261    
262            * R/dsyMatrix.R (coerce->dsTMatrix): (i,j) slots should *not* have names
263            * R/ngTMatrix.R (coerce->ngTMatrix): ditto;
264                    + matrix |-> nMatrix coercion
265            * R/pMatrix.R: + setAs()  to dMatrix and from nMatrix
266            * man/pMatrix-class.Rd: ditto
267    
268            * R/Matrix.R (Summary): method for non-dMatrix
269    
270            * tests/Class+Meth.R (extraValid): new check about "dirty" slots
271            * tests/Class+Meth.R (tstMatrixClass): test norm(.);
272                    test all Summary methods.
273    
274    2007-07-16  Martin Maechler  <maechler@stat.math.ethz.ch>
275    
276            * R/dgeMatrix.R (norm, rcond): methods for 'matrix'
277    
278    2007-07-14  Martin Maechler  <maechler@stat.math.ethz.ch>
279    
280            * R/sparseMatrix.R (norm): simple methods for sparseMatrix
281    
282            * R/pMatrix.R (t?crossprod): methods for pMatrix
283    
284    2007-07-10  Douglas Bates  <bates@stat.wisc.edu>
285    
286            * src/dgeMatrix.c (dgeMatrix_colsums): Get the logic straight.
287    
288    2007-07-09 20:45  Douglas Bates <bates@stat.wisc.edu>
289    
290            * [r4579] src/dgeMatrix.c: Untangle horrible code in dgeMatrix_colsums
291              trying to fix a subtle bug - which has been somewhere else.
292    
293    2007-07-09 19:43  Martin Maechler <maechler@stat.math.ethz.ch>
294    
295            * [r4578] src/dgeMatrix.c: "cleaned" dgeMatrix_colsums() - but did not
296              solve the bug
297    
298    2007-07-08  Martin Maechler  <maechler@stat.math.ethz.ch>
299    
300            * src/dgCMatrix.c (compressed_to_TMatrix):
301    
302    2007-07-07  Martin Maechler  <maechler@stat.math.ethz.ch>
303    
304            * src/Csparse.c (Rsparse_validate): new, to have some validity
305            checking for RsparseMatrix
306            * src/dgCMatrix.c (xRMatrix_validate): ditto
307            * src/dtCMatrix.c (tRMatrix_validate): ditto
308    
309    2007-07-07  Douglas Bates <bates@stat.wisc.edu>
310    
311            * [r4567] R/AllClass.R: Slots already in RsparseMatrix were redefined in
312              lgRMatrix
313            * [r4568] DESCRIPTION: Prepare for bug-fix release
314            * [r4570] src/CHOLMOD/Check/cholmod_write.c: Include cholmod_matrixops.h
315              for declaration of cholmod_symmetry
316    
317    2007-07-06  Martin Maechler  <maechler@stat.math.ethz.ch>
318    
319            * DESCRIPTION (Version): 0.999375 merged into the trunk; ready for
320            release.
321    
322    2007-07-06 14:11  Douglas Bates <bates@stat.wisc.edu>
323    
324            * [r4559] src/iohb.c, src/iohb.h: Remove Harwell-Boeing input/output
325              functions - no longer used
326            * [r4560] src/HBMM.c, src/Mutils.c, src/dgTMatrix.c, src/dgeMatrix.c,
327              src/dspMatrix.c, src/dsyMatrix.c, src/dtCMatrix.c,
328              src/factorizations.c, src/sparseQR.c: Replace most calls to Calloc by
329              Alloca
330    
331    2007-07-06 13:14  Martin Maechler <maechler@stat.math.ethz.ch>
332    
333            * [r4558] inst/doc/Comparisons.Rnw, src/CHMfactor.c, src/Csparse.c,
334              src/Tsparse.c, src/chm_common.c, src/chm_common.h, src/dense.c,
335              src/dgCMatrix.c, src/dsCMatrix.c, src/dtTMatrix.c, src/sparseQR.c,
336              src/t_gCMatrix_colSums.c: more R_CheckStack()s
337    
338    2007-07-05 18:12  Douglas Bates <bates@stat.wisc.edu>
339    
340            * [r4550] inst/include/Matrix.h: Add the macro N_AS_CHM_DN to "alloca"
341              the required amount of memory then call M_numeric_as_chm_dense.
342            * [r4556] src/Mutils.h, src/dgCMatrix.c: Define and use the Alloca macro
343              (like Calloc but calling alloca)
344    
345    2007-07-05  Martin Maechler  <maechler@stat.math.ethz.ch>
346    
347            * R/sparseMatrix.R (printSpMatrix): renamed from prSpMatrix()
348            and extended with more sophisticated 'col.names' option.
349            * NAMESPACE: export  printSparseMatrix()
350            * man/printSpMatrix.Rd: document, incl. examples
351    
352    2007-07-04 16:21  Douglas Bates <bates@stat.wisc.edu>
353    
354            * [r4543] src/cs_utils.c, src/cs_utils.h, src/dgCMatrix.c,
355              src/dtCMatrix.c, src/sparseQR.c: CSP typedef for *cs and macro
356              AS_CSP. API change - pass the empty structure to Matrix_as_cs.
357    
358    2007-07-04  Martin Maechler  <maechler@stat.math.ethz.ch>
359    
360            * DESCRIPTION (Version): 0.99875-4
361    
362            * tests/Class+Meth.R (tstMatrixClass): add dimnames, and hence test
363            some dimnames perservation.
364    
365            * R/dsTMatrix.R (t-method): keep dimnames
366            * R/dtTMatrix.R:  ditto
367    
368            * R/sparseMatrix.R (prSpMatrix): print colnames when non-trivial
369            and ncol(.) < 10
370    
371            * src/cs_utils.c: drop check_class() and use Matrix_check_class()
372            from Mutils.h
373    
374            * src/lgCMatrix.c ([ln]csc_to_matrix): no longer lose dimnames,
375            e.g. in as(<ngCMatrix>, "matrix")
376    
377    2007-07-01 13:27  Douglas Bates <bates@stat.wisc.edu>
378    
379            * [r4529] .: Create a branch for the API changes from the 0.99875
380              series to the 0.999375 series
381            * [r4530] DESCRIPTION, inst/include/Matrix.h,
382              inst/include/Matrix_stubs.c, src/CHMfactor.c, src/Csparse.c,
383              src/Mutils.h, src/Tsparse.c, src/chm_common.c, src/chm_common.h,
384              src/dense.c, src/dgCMatrix.c, src/dsCMatrix.c, src/dtTMatrix.c,
385              src/t_gCMatrix_colSums.c: API change - pass the empty structure to the
386              as_cholmod_x functions
387    
388    2007-06-30 09:05  Martin Maechler <maechler@stat.math.ethz.ch>
389    
390            * [r4527] trunk/Matrix/DESCRIPTION, trunk/Matrix/NAMESPACE,
391              trunk/Matrix/inst/doc/Comparisons.Rnw: add session- and hardware-info
392              to Comparisons
393    
394    >>>>>>> .merge-right.r4561
395    2007-06-29  Martin Maechler  <maechler@stat.math.ethz.ch>
396    
397            * DESCRIPTION (Version): 0.99875-3 ready to be released.
398    
399            * R/sparseMatrix.R (spMatrix): make spMatrix(3,4) working
400    
401            * R/AllGeneric.R: set "Math" (and "Math2") group generics in a way
402            that should also work in a future version of R.
403    
404    2007-06-21  Martin Maechler  <maechler@stat.math.ethz.ch>
405    
406            * NAMESPACE, R/AllClass.R: "xsparseVector" class union.
407    
408            * R/sparseVector.R: more *sparseVector coercions, notably for
409            non - double ones.
410    
411    2007-06-19  Martin Maechler  <maechler@stat.math.ethz.ch>
412    
413            * R/colSums.R: new file for all (col|row)(Sums|Means) methods,
414              notably the new ones building on the new .Call(.)s:
415    
416            * src/dgCMatrix.c (DEF_gCMatrix_COLSUMS): use to define
417            all 4 of [dlin]gCMatrix_colSums().
418    
419    2007-06-18 16:12  Douglas Bates <bates@stat.wisc.edu>
420    
421            * [r4472] src/Syms.h, src/init.c: Added Matrix_lengthSym
422            * [r4473] src/dgCMatrix.c: Modified dgCMatrix_colSums for sparseVector
423              result
424    
425    2007-06-16  Martin Maechler  <maechler@stat.math.ethz.ch>
426    
427            * R/kronecker.R: fix typo (could lead to inf.recursion)
428            * test/simple.R: testing that
429    
430            * R/sparseMatrix.R (prSpMatrix): change to be used as print()
431            method as well (which can have arguments, show() can't).
432    
433    2007-06-16 15:52  Douglas Bates <bates@stat.wisc.edu>
434    
435            * [r4466] R/dgCMatrix.R, src/dgCMatrix.c, src/dgCMatrix.h, src/init.c:
436              added dgCMatrix_colSums for [col,row][Sums,Means]
437    
438    2007-06-15 23:15  Douglas Bates <bates@stat.wisc.edu>
439    
440            * [r4460] R/sparseMatrix.R, man/dgCMatrix-class.Rd, src/dgCMatrix.c,
441              src/dgCMatrix.h, src/init.c: added lm.fit.sparse (unexported),
442              coercion of "factor" to "dgCMatrix" and dgCMatrix_cholsol
443            * [r4461] R/AllClass.R, man/sparseMatrix-class.Rd: draft "indicators"
444              class
445            * [r4463] R/sparseMatrix.R, man/dgCMatrix-class.Rd,
446              man/sparseMatrix-class.Rd: Don't need an "indicators" class - use the
447              row names to store the levels - duh!  Added an example.
448    
449    2007-06-14  Martin Maechler  <maechler@stat.math.ethz.ch>
450    
451            * src/Csparse.c (Csparse_validate): check for *repeated* entries
452            thanks to example from Christian Buchta; with a test here:
453            * tests/simple.R:
454    
455    2007-06-07  Martin Maechler  <maechler@stat.math.ethz.ch>
456    
457            * R/Auxiliaries.R (callGeneric): another fix, needed for some cases
458            of colSums(*, sparseResult = TRUE)
459    
460    2007-06-06  Martin Maechler  <maechler@stat.math.ethz.ch>
461    
462            * R/lsparseMatrix.R, R/ldenseMatrix.R (all, any): change default to
463            'na.rm = FALSE' as "everywhere" else in R.
464    
465    2007-06-05 Douglas Bates <bates@stat.wisc.edu>
466    
467            * [r4421] src/CSparse_install.sh: Modify for new organization of
468              CSparse package
469            * [r4425] src/UFsparse_download.sh: Update to version 3.0.0 of
470              SuiteSparse
471            * [r4426] src/Makefile: add ./UFconfig to the include path for
472              compilation
473            * [r4427] src/cs.[ch]: update to CSparse version 2.2.0
474            * [r4428] inst/doc/UFsparse/* src/{AMD,CHOLMOD,COLAMD}/*
475              src/UFconfig/UFconfig.h: Update to version 3.0.0 of SuiteSparse
476    
477    2007-06-05  Martin Maechler  <maechler@stat.math.ethz.ch>
478    
479            * R/Auxiliaries.R (emptyColnames): + argument msg.if.not.empty, used in
480            * R/sparseMatrix.R (prSpMatrix): now gives a message about
481            suppressed column names.
482    
483    2007-06-04 17:13  Douglas Bates <bates@stat.wisc.edu>
484    
485            * [r4418] src/Csparse.c, src/HBMM.c, src/Mutils.c, src/Mutils.h,
486              src/Tsparse.c, src/chm_common.c, src/chm_common.h, src/dgCMatrix.c,
487              src/dgeMatrix.c, src/dpoMatrix.c, src/dpoMatrix.h, src/dppMatrix.c,
488              src/dppMatrix.h, src/dsCMatrix.c, src/dspMatrix.c, src/dspMatrix.h,
489              src/dsyMatrix.c, src/dsyMatrix.h, src/dtpMatrix.c, src/dtrMatrix.c:
490              Remove warnings after change to const char* CHAR
491    
492    2007-06-04 17:11  Douglas Bates <bates@stat.wisc.edu>
493    
494            * [r4417] inst/include/Matrix_stubs.c, inst/include/cholmod.h: Corrected
495              type of M_cholmod_ssmult
496    
497    2007-06-03 14:42  Douglas Bates <bates@stat.wisc.edu>
498    
499            * [r4412] inst/include/Matrix_stubs.c, inst/include/cholmod.h,
500              src/init.c: Yet another cholmod export - cholmod_ssmult
501    
502    2007-05-23  Martin Maechler  <maechler@stat.math.ethz.ch>
503    
504            * NAMESPACE: exported drop0(), since
505            * man/drop0.Rd: I have seen several cases, I really wanted to use
506            it, so our users may want too.
507    
508    2007-05-22  Martin Maechler  <maechler@stat.math.ethz.ch>
509    
510            * man/colSums.Rd: separately document colSums() etc, since these
511            have the extra argument 'sparseResult'.
512    
513    2007-05-21  Martin Maechler  <maechler@stat.math.ethz.ch>
514    
515            * R/sparseMatrix.R (spMatrix): utility (T)sparse Matrix constructor;
516            * man/spMatrix.Rd: docu., including examples
517    
518            * R/Auxiliaries.R (sp.colMeans): etc, using a patched callGeneric(),
519            in order to make colMeans() etc fast *and* correct.
520            * R/sparseVector.R (replSPvec): "[<-" functionality for
521            sparseVectors; tested in
522            * tests/simple.R:
523    
524    2007-05-19  Martin Maechler  <maechler@stat.math.ethz.ch>
525    
526            * R/sparseMatrix.R (print.sparseSummary): and summary() method for
527            (very) sparse Matrices; output similar to Matlab's print().
528    
529    2007-05-17  Douglas Bates  <bates@stat.wisc.edu>
530    
531            * src/HBMM.c (Matrix_writeMatrixMarket): Write 1-based, not
532            0-based, indices (Jose Quesada <quesada@gmail.com>).
533    
534    2007-05-16  Douglas Bates  <bates@stat.wisc.edu>
535    
536            * R/CHMfactor.R: Added solve methods for a CHMfactor object.
537    
538    2007-05-16  Martin Maechler  <maechler@stat.math.ethz.ch>
539    
540            * R/Auxiliaries.R (sparsapply): new utility, much faster than
541            tapply1() for large sparse matrices.
542    
543    2007-05-15  Martin Maechler  <maechler@stat.math.ethz.ch>
544    
545            * R/Matrix.R (dim<-): reshape now via sparseVector.
546    
547            * R/sparseVector.R: methods and function for
548            * R/AllClass.R: new "sparseVector" class and daughters.
549            * NAMESPACE: export new classes
550    
551    2007-05-14  Martin Maechler  <maechler@stat.math.ethz.ch>
552    
553            * DESCRIPTION (Version): 0.99875-1
554            * src/Makefile.win: also remove Lapack code from here (cf. 04-25).
555    
556    2007-05-11  Martin Maechler  <maechler@stat.math.ethz.ch>
557    
558            * R/Tsparse.R ([, Tsparse): fix last case: *duplicated*, symmetric
559            indexing
560            * tests/indexing.R: test set for that.
561    
562    2007-05-08  Martin Maechler  <maechler@stat.math.ethz.ch>
563    
564            * R/Tsparse.R (replTmat): fix the case of *duplicated* index
565            entries.
566            * tests/indexing.R(out): add regression test for it
567    
568    2007-04-30  Martin Maechler  <maechler@stat.math.ethz.ch>
569    
570            * R/(l(dense|sparse))?Matrix.R (!): use 'x', not 'e1' as argument
571            name for "!" method definitions.
572    
573    2007-04-26  Martin Maechler  <maechler@stat.math.ethz.ch>
574    
575            * R/Tsparse.R (intI): new utility, used for "[" :
576                    Cleanup up there, and fixes for duplicated indices - more TODO!
577    
578            * tests/indexing.R(out): more tests
579    
580    2007-04-25  Douglas Bates  <bates@stat.wisc.edu>
581    
582            * DESCRIPTION,src/Makefile: require R>= 2.5.0 and remove Lapack
583            code that is now part of the R Lapack library.
584    
585            * src/init.c,inst/include/{Matrix_stubs.c,cholmod.h}:export
586            cholmod_factorize_p (used in lme4 for GLMMs and NLMMs).
587    
588    2007-04-21  Martin Maechler  <maechler@stat.math.ethz.ch>
589    
590            * R/Matrix.R (image): method for all Matrices, not just sparse ones.
591    
592    2007-04-17  Martin Maechler  <maechler@stat.math.ethz.ch>
593    
594            * R/Auxiliaries.R (tapply1): unname(.) -> colSums() etc don't end
595            up with extraneous names '0'...'<n-1>'
596    
597    2007-04-12  Martin Maechler  <maechler@stat.math.ethz.ch>
598    
599            * R/dgTMatrix.R (mat2dgT): care about NAs
600    
601    2007-04-11  Martin Maechler  <maechler@stat.math.ethz.ch>
602    
603            * R/kronecker.R: triangularity preserving methods
604    
605    2007-03-27  Martin Maechler  <maechler@stat.math.ethz.ch>
606    
607            * R/kronecker.R: new file collecting kronecker() methods in one
608                    place.  Goal: become much faster!
609    
610    2007-03-23  Martin Maechler  <maechler@stat.math.ethz.ch>
611    
612            * src/dtCMatrix.c (dtCMatrix_solve): use the new code from Kasper
613            Kristensen based cs_spsolve() instead of _lsolve & _usolve which
614            can be much faster.
615    
616            * tests/matprod.R: add regression tests for these (upper & lower).
617    
618    2007-03-19  Martin Maechler  <maechler@stat.math.ethz.ch>
619    
620            * R/Matrix.R (diff): method for our Matrices.
621    
622            * R/sparseMatrix.R (isDiagonal): check dim()!
623    
624    2007-03-17  Martin Maechler  <maechler@stat.math.ethz.ch>
625    
626            * R/Matrix.R (dim<-): new method for "reshape()" built on a
627            proposal from Tamas Papp.
628    
629    2007-03-16  Martin Maechler  <maechler@stat.math.ethz.ch>
630    
631            * R/AllGeneric.R: remove all  if(!isGeneric(.))  clauses
632    
633            * R/zzz.R (.onLoad, .onUnload): do *not* leave bind_activation(TRUE);
634            rather define and export  cBind() and rBind() only.
635            --> useRs *must* change code that used to have cbind()/rbind() !!
636    
637            * R/bind.R: change tests from cbind() to cBind() and similarly to rBind()
638            * R/bind.Rout.save: ditto
639    
640    2007-02-16  Douglas Bates  <bates@r-project.org>
641    
642            * DESCRIPTION (Date, Version): 0.9975-11 with new date
643            * src/dgCMatrix.c (R_to_CMatrix, compressed_to_TMatrix): remove
644            const modifier on declaration of the array 'valid'
645    
646    2007-02-12  Douglas Bates  <bates@stat.wisc.edu>
647    
648            * R/CHMfactor.R: Add image method (coercion to sparseMatrix).
649    
650    2007-02-05  Martin Maechler  <maechler@stat.math.ethz.ch>
651    
652            * DESCRIPTION (Date, Version): 0.9975-10 with new date.
653    
654            * R/Ops.R (Arith): make sure Csparse o Csparse also works for e.g. ntCMatrix
655            * tests/simple.R: test the above and some of these coercions:
656    
657            * R/nsparseMatrix.R: coercing "Csparse" to "lsparseMatrix";
658                    be careful to avoid infinite recursion, using new coercions in
659            * R/ngCMatrix.R and nsC... and ntC...
660            * R/lsparseMatrix.R: ditto
661    
662            * R/SparseM-conv.R: more conversion, notably for triplet matrices.
663    
664            * src/dgCMatrix.c (R_to_C_Matrix): port Doug's fix and
665            * R/Rsparse.R: reactivate .Call()s
666    
667            * tests/Class+Meth.R: a bit more on actual classes
668    
669    2007-02-04  Douglas Bates  <bates@stat.wisc.edu>
670    
671            * src/dgCMatrix.c (compressed_to_TMatrix): fix memory bug using strdup()
672    
673    2007-02-03  Martin Maechler  <maechler@stat.math.ethz.ch>
674    
675            * DESCRIPTION (Version): 0.9975-10 to upload
676    
677            * tests/Class+Meth.R (tstMatrixClass): require coercions to
678            specific classes less unconditionally.
679    
680            * R/Auxiliaries.R: get rid of as_Tsparse() and as_Rsparse()
681    
682            * R/Tsparse.R (triu): etc, use as(*, "TsparseMatrix") instead of as_Tsparse()
683    
684            * R/Rsparse.R (.R.2.T): R-level workaround using compressed_to_TMatrix.
685            * R/Rsparse.R (.R.2.C): R-level workaround since C-level
686            R_to_CMatrix segfaults on one platform.
687            Eliminate most coercion method to *specific* classes, and replace
688            with virtual classes coercions.
689    
690    
691    2007-02-01  Martin Maechler <maechler@stat.math.ethz.ch>
692    
693            * src/init.c: export the CHM...._validate() placeholders, since
694            they *are* called.
695    
696            * tests/Class+Meth.R (classCanCoerce): and starting to test
697            all as(<from>, <to>)
698    
699    2007-01-30  Martin Maechler  <maechler@stat.math.ethz.ch>
700    
701            * R/Tsparse.R ([): more care when subsetting triangular Tsparse
702            * tests/indexing.R: tested now
703            * tests/indexing.Rout.save: updated
704    
705            * src/Csparse.c (Csparse_to_dense): use Rkind = -1 for PATTERN to
706            * src/chm_common.c (chm_dense_to_SEXP): return "ngeMatrix" when
707            appropriate.
708    
709            * NAMESPACE: export a trivial
710            * R/Matrix.R: drop() Matrix-method
711    
712            * R/AllClass.R: moved all prototypes to virtual super classes.
713    
714            * R/Rsparse.R: many more coercions to have less exceptions in
715            * tests/Class+Meth.R:
716    
717            * R/Ops.R (Compare): tweak for case with NA
718            * tests/simpl.R: hence another 'FIXME' eliminated
719    
720    2007-01-29  Martin Maechler  <maechler@stat.math.ethz.ch>
721    
722            * R/diagMatrix.R (solve): the obvious methods for diagonalMatrix
723            objects.
724    
725            * tests/Class+Meth.R (tstMatrixClass): now testing diag(), nnzero(),
726              and more of "!", "&", "|", all, any; coercions
727    
728            * R/Rsparse.R: many coercions (which enable quite a few other
729            methods), thanks to enhancements in
730            * src/dgCMatrix.c (R_to_CMatrix): new, and
731            * src/dgCMatrix.c (compressed_to_TMatrix): now for (d,l,n) ,
732            symmetric & triangular and ..RMatrix objects.
733    
734            * src/TMatrix_as.c (Matrix_T_as_DENSE,Matrix_T_as_GENERAL):
735            renamed file from src/dsTMatrix.c;
736            now dealing with symmetric and triangular Tsparse coercions, both
737            to dense and general.
738    
739    2007-01-27  Martin Maechler  <maechler@stat.math.ethz.ch>
740    
741            * src/dsTMatrix.c: has now "l" and "n" methods besides the "d" ones.
742    
743            * R/Ops.R (Arith): <dgCMatrix> o <numeric> now remains sparse
744            where sensible when the <numeric> is of length > 1.
745    
746    2007-01-26  Martin Maechler  <maechler@stat.math.ethz.ch>
747    
748            * R/Matrix.R ([<-): for M[] <- value: fix length
749    
750    2007-01-25  Martin Maechler  <maechler@stat.math.ethz.ch>
751    
752            * R/Auxiliaries.R (n2l_Matrix): new, to be used in
753            * R/ndenseMatrix.R: new coercions n* -> l*
754    
755    2007-01-22  Martin Maechler  <maechler@stat.math.ethz.ch>
756    
757            * R/triangularMatrix.R: new file; simple triu() and tril() methods.
758    
759            * R/Ops.R ("Logic"): and other "Ops", many updates
760    
761    2007-01-18  Martin Maechler  <maechler@stat.math.ethz.ch>
762    
763            * src/Mutils.h (SET_DimNames): new utility
764    
765            * R/Auxiliaries.R (nnzero): improved and now exported via
766    
767            * NAMESPACE: + nnzero(); length() == prod(dim(.)) method for all "Matrix" objects
768    
769    2007-01-17  Martin Maechler  <maechler@stat.math.ethz.ch>
770    
771            * R/diagMatrix.R (!): fix typo.
772    
773    2007-01-16  Martin Maechler  <maechler@stat.math.ethz.ch>
774    
775            * R/Auxiliaries.R (as_Csparse): and quite a few others:
776                    allow to pass class definition --> speedup
777            * R/sparseMatrix.R: apply the above
778    
779            * R/Csparse.R: coercion Csparse* to dense* now preserves shape properties.
780    
781            * src/Mutils.h (mMatrix_as_geMatrix): new, based on
782            * src/Mutils.c (dup_mMatrix_as_geMatrix): new; generalization of
783            old dup_mMatrix_as_dgeMatrix), eliminating a long-standing "FIXME".
784    
785            * src/dense.c (dense_to_Csparse): use new mMatrix_as_geMatrix()
786    
787            * R/denseMatrix.R (.dense2C): based on dense_to_Csparse: name it,
788            and use it for "sparse*" as well, since it's faster than the
789            as_Csparse(.) way.
790    
791    2007-01-15  Martin Maechler  <maechler@stat.math.ethz.ch>
792    
793            * R/Ops.R ("Logic"): more methods, notably an  <lgC> o <lgC> one.
794    
795    2007-01-12  Martin Maechler  <maechler@stat.math.ethz.ch>
796    
797            * R/Tsparse.R (.TM.repl.i.2col): new internal function to be used
798            as method for   M[ ij ] <- v
799            * R/Csparse.R:: go via Tsparse for "M[ij] <- v"
800    
801            * R/Ops.R: "Compare" for (C|R)sparse: need pointer slot for all
802            FALSE answer
803    
804            * R/Csparse.R (replCmat): fix the "all non-zero" case with reordering
805            * tests/indexing.R: test it, and some of the above
806    
807    2007-01-05  Martin Maechler  <maechler@stat.math.ethz.ch>
808    
809            * R/Auxiliaries.R (is_duplicatedT): new utility
810    
811    2007-01-05  Douglas Bates  <bates@stat.wisc.edu>
812    
813            * src/init.c (R_init_Matrix): export cholmod_scale
814    
815    2006-12-30  Martin Maechler  <maechler@stat.math.ethz.ch>
816    
817            * R/zzz.R (tmp): for R >= 2.5.0, extend formals of our
818            base::as.matrix to (x, ...)
819    
820    2006-12-28  Martin Maechler  <maechler@stat.math.ethz.ch>
821    
822            * R/Ops.R ("Arith" etc): move almost all "Ops" methods to new R
823            file; start using "Logic", hence
824    
825            * DESCRIPTION (Depends): R >= 2.4.1 (since we want "Logic")
826            * NAMESPACE: import and export "Logic"
827    
828    2006-12-27  Martin Maechler  <maechler@stat.math.ethz.ch>
829    
830            * src/zpotfr.f and dependencies: use LAPACK 3.1 version
831            only needed previously to R version 2.5.0.
832    
833    2006-12-26  Martin Maechler  <maechler@stat.math.ethz.ch>
834    
835            * DESCRIPTION (Date, Version): 0.9975-8, ready for release
836    
837            * R/Tsparse.R (replTmat): fix subassignment of triangular
838            * R/Csparse.R (replCmat): ditto
839            * tests/indexing.R: more tests, incl the above fix
840    
841    2006-12-23  Martin Maechler  <maechler@stat.math.ethz.ch>
842    
843            * R/Auxiliaries.R (drop0): extend for non CSparse
844            * R/Auxiliaries.R (diagU2N): should work for all sparseMatrix
845    
846            * src/Csparse.c (Csparse_to_Tsparse, Csparse_general_to_symmetric):
847                    use uplo correctly (!); other places: use uplo_P() macro
848    
849            * R/Csparse.R (replCmat): call diagU2N() when needed
850            * R/Tsparse.R (replTmat): ditto
851    
852            * src/dtCMatrix.c (tCMatrix_validate): new
853            * src/dtTMatrix.c (tTMatrix_validate): new, used in
854            * R/AllClass.R: for validity of dtC, dsC, and dtT, dsT.
855    
856            * R/diagMatrix.R (replDiag): to use in [<-
857    
858    2006-12-22  Martin Maechler  <maechler@stat.math.ethz.ch>
859    
860            * R/Auxiliaries.R (as_Csparse2, as_geSimpl): new functions;
861                    also more general diagU2N().
862    
863    2006-12-21  Martin Maechler  <maechler@stat.math.ethz.ch>
864    
865            * R/bind2.R: new file for all cbind2(), rbind() methods moved here
866            from R/<foo>Matrix.R files. Better diagonal & improved sparse methods.
867    
868    2006-12-20  Martin Maechler  <maechler@stat.math.ethz.ch>
869    
870            * tests/bind.R: a few more cases
871            * R/Auxiliaries.R (.M.kind): also work for atomic vectors
872    
873            * R/denseMatrix.R (cbind2/rbind2): moved here (and generalized) from
874            * R/ddenseMatrix.R (cbind2/rbind2)
875            * R/Tsparse.R (replTmat): final(?!) fix for "[<-" ..
876            * tests/indexing.R
877            * tests/indexing.Rout.save: updated
878    
879    2006-12-18  Martin Maechler  <maechler@stat.math.ethz.ch>
880    
881            * R/Tsparse.R (replTmat): fixed a remaining "[<-" bug in
882            * tests/indexing.R
883    
884    2006-12-15  Martin Maechler  <maechler@stat.math.ethz.ch>
885    
886            * R/sparseMatrix.R (prSpMatrix): "." alignment much improved:
887            align with proper position of "0", i.e., right for integers.
888            argument 'align' by default is "fancy".
889    
890    2006-12-14  Martin Maechler  <maechler@stat.math.ethz.ch>
891    
892            * R/sparseMatrix.R: delegate "Compare" to "Csparse.."
893            * R/Csparse.R: and fix "Compare" for more cases.
894            * tests/Class+Meth.R: test some of these (m == m, m != m)
895    
896    2006-12-13  Martin Maechler  <maechler@stat.math.ethz.ch>
897    
898            * R/lsparseMatrix.R: all() and any() methods
899            * R/ldenseMatrix.R:      ditto
900            * NAMESPACE, R/Matrix.R: ditto
901    
902            * man/all-methods.Rd: document them minimally
903    
904            * tests/simple.R: add a few examples for these
905    
906    2006-12-11  Martin Maechler  <maechler@stat.math.ethz.ch>
907    
908            * R/Tsparse.R ([): fix long standing typo in symmetric case
909            * man/dsCMatrix-class.Rd: add example exhibiting the above case
910    
911    2006-12-10  Douglas Bates  <bates@stat.wisc.edu>
912    
913            * src/CHMfactor.c (CHMfactor_to_sparse): change LDL factorization
914            to LL before converting to a sparse matrix. (The LDL form can be
915            converted to a sparse matrix but it is implicitly a unit
916            triangular matrix and a diagonal matrix overwritten on the diagonal.)
917    
918    2006-12-09  Douglas Bates  <bates@stat.wisc.edu>
919    
920            * src/chm_common.c (chm_factor_to_SEXP): allocate and fill the Dim slot.
921    
922    2006-12-08  Douglas Bates  <bates@stat.wisc.edu>
923    
924            * DESCRIPTION (Version): updated -> release 0.9975-7
925            * src/{init.c,chm_common.c}, inst/include/*: export cholmod_analyze_p
926    
927    2006-11-30  Martin Maechler  <maechler@stat.math.ethz.ch>
928    
929            * R/diagMatrix.R (%*%): write a direct [diag o Csparse] method
930    
931    2006-11-29  Douglas Bates  <bates@stat.wisc.edu>
932    
933            * src/dgeMatrix.c (dgeMatrix_solve): Check error code from dgetri.
934            * tests/dg_Matrix.R: Add Barry Rowlingson's test of a matrix that
935            is exactly singular.
936    
937    2006-11-07  Martin Maechler  <maechler@stat.math.ethz.ch>
938    
939            * DESCRIPTION (Date): updated -> release 0.9975-6
940    
941    2006-11-06  Martin Maechler  <maechler@stat.math.ethz.ch>
942    
943            * R/Csparse.R (replCmat): symmetric indexing of symmetric matrix
944            now returns symmetric.
945    
946            * R/zzz.R ("diag<-"): replace "diag<-" in base for R <= 2.4.x
947    
948            * R/Matrix.R (.M.sub.i.2col):  new, for  M[ cbind(i,j) ] indexing.
949            * R/Matrix.R (.M.repl.i.2col): new, for  M[ cbind(i,j) ] <- value
950    
951            * R/Auxiliaries.R (.type.kind): added
952    
953    2006-11-04  Martin Maechler  <maechler@stat.math.ethz.ch>
954    
955            * src/cs.[ch]: updated to CSparse Version 2.0.3 by simply
956            running src/CSparse_install.sh
957    
958            * R/denseMatrix.R: "[": keep symmetric on symmetric indexing.
959    
960    2006-11-03  Martin Maechler  <maechler@stat.math.ethz.ch>
961    
962            * src/dsCMatrix.c (dsCMatrix_Csparse_solve): new
963            * R/dsCMatrix.R (solve): "fully-sparse" using the above.
964    
965            * R/AllClass.R: "pMatrix" now also inherits from "generalMatrix"
966    
967            * tests/Class+Meth.R (tstMatrixClass): now assure
968            the (important in method programming) property :
969    
970                    ###>>  Every "Matrix" is either
971                    ###>>  "general*", "symmetric*", "triangular*" or "diagonal*"
972    
973                    (where "*" stands for "Matrix")
974    
975            * R/Auxiliaries.R (diagU2N): now .Call()s Csparse_diagU2N for <Csparse>
976    
977            * R/dMatrix.R (Compare(<dMatrix>,<dMatrix>): update and
978            * tests/validObj.R: checks for "comparison"
979    
980            * R/sparseMatrix.R ([): improved indexing for sparse;
981                    trying to keep <symmetric>[ n, n] symmmetric
982    
983            * tests/indexing.R: indexing for logical sparse now ok
984    
985    
986    2006-11-02  Martin Maechler  <maechler@stat.math.ethz.ch>
987    
988            * src/Tsparse.c: use xTsparse_validate() , and hence remove
989    
990            * src/{ltC,lsC,lgT}Matrix.[ch]: removed
991    
992    2006-11-02  Martin Maechler  <maechler@stat.math.ethz.ch>
993    
994            * R/AllClass.R (Matrix-class): check length of dimnames in validity.
995    
996            * tests/simple.R: validObject() checking the above.
997    
998            * src/dgCMatrix.c (xCMatrix_validate): new, small and simple,
999            replacing both dgCMatrix_validate and lgCM*.
1000    
1001            * src/Csparse.c (Csparse_dense_prod, etc): do not lose dimnames;
1002            fix dimnames setting in other places.
1003            * src/chm_common.c (chm_dense_to_SEXP): now can pass dimnames
1004    
1005    2006-11-01  Martin Maechler  <maechler@stat.math.ethz.ch>
1006    
1007            * R/Csparse.R,src/Csparse.c, etc: tcrossprod(<CsparseM>,<CsparseM>)
1008    
1009            * R/sparseMatrix.R (isSymmetric): drop 'factors' slot for
1010            symmetry test, via
1011            * R/Auxiliaries.R (.as.dgC.0.factors):
1012    
1013    2006-11-01  Douglas Bates  <bates@r-project.org>
1014    
1015            * R/Csparse.R,src/Csparse.c,tests/matprod.R,
1016            man/CsparseMatrix-class.Rd: crossprod(<CsparseMatrix>,
1017            <CsparseMatrix>) added
1018    
1019    2006-10-30  Martin Maechler  <maechler@stat.math.ethz.ch>
1020    
1021            * tests/matprod.R: add a variation of Harri's example
1022    
1023            * R/dsparseMatrix.R: fix crossprod(<dsparse>, <dge>) to *not*
1024            recursive infinitely.
1025    
1026            * R/dgCMatrix.R: + solve(<sparse>, <sparse>)
1027    
1028            * tests/indexing.R: add test for the "<" bug fixed 10-27 in R/dMatrix.R
1029    
1030    2006-10-28  Martin Maechler  <maechler@stat.math.ethz.ch>
1031    
1032            * tests/Class+Meth.R (tstMatrixClass): more: use non-trivial
1033            matrix if possible; test m+m == 2*m; now test dgRMatrix.
1034            * R/dgRMatrix.R (.to.dgR): a few more coercions, in order to
1035            satisfy the above test.
1036    
1037    2006-10-27  Martin Maechler  <maechler@stat.math.ethz.ch>
1038    
1039            * R/Matrix.R (Ops):  <Matrix> o <matrix>  method added
1040    
1041            * R/dgCMatrix.R: solve(a, b="missing") based on
1042            * src/dgCMatrix.c (dgCMatrix_matrix_solve): extend to work with
1043            RHS = NULL.
1044    
1045            * R/diagMatrix.R (diagdiagprod): extend %*% etc to ldiMatrix;
1046            add more (needed) [t]crossprod() methods.
1047    
1048            * man/ddiMatrix-class.Rd: more info, notably on 'diag'
1049    
1050            * R/Auxiliaries.R (as_CspClass): cleanup
1051            (drop0): internal utility for "Csparse_drop(*, 0)"
1052            (.bail.out.2): encourage active feedback
1053    
1054    2006-10-26  Martin Maechler  <maechler@stat.math.ethz.ch>
1055    
1056            * R/dMatrix.R(Compare): new(), then slots [no validity check]
1057    
1058            * src/Csparse.c (Csparse_validate): fixed (and more efficient in
1059            non-valid or 'sorted' case).
1060    
1061            * R/dsparseMatrix.R: add "chol" method.
1062            * R/ddenseMatrix.R: ditto
1063    
1064            * R/diagMatrix.R (Ops): group methods for  <diagonal> o <sparse>
1065            * NAMESPACE (Ops)
1066            * R/diagMatrix.R (diag2T): simple utility used "higher level"
1067            coercion; deprecating direct lower level coercions.
1068    
1069            * R/*.R (seq): use seq_len() and seq_along() where possible.
1070    
1071    
1072    2006-10-23  Martin Maechler  <maechler@stat.math.ethz.ch>
1073    
1074            * DESCRIPTION (Version): 0.9975-5 ready for release
1075    
1076    2006-10-20  Douglas Bates  <bates@stat.wisc.edu>
1077    
1078            * src/init.c (R_init_Matrix): export more cholmod CCallable functions.
1079    
1080    2006-10-20  Martin Maechler  <maechler@stat.math.ethz.ch>
1081    
1082            * R/AllClass.R (corMatrix): add 'validity' check;
1083                    comment out unused "LDL" class definition
1084            * NAMESPACE: mention, but do not export "LDL" class
1085            * R/corMatrix.R: new (simple), needed for R-devel with
1086            * tests/Class+Meth.R (tstMatrixClass): 1 exception for corMatrix
1087              coerce and t() exceptions for all 5 'Mat.MatFact' classes.
1088    
1089    2006-10-19  Douglas Bates  <bates@stat.wisc.edu>
1090    
1091            * src/chm_common.h: Add R_cholmod_start to initialize cholmod to
1092            use Rprintf and R's error handling.
1093    
1094    2006-10-17  Martin Maechler  <maechler@stat.math.ethz.ch>
1095    
1096            * R/diagMatrix.R (%*%): rep(*, each = .) in Matrix %*% diagonal.
1097            * tests/matprod.R: add tests for the bug fixed.
1098    
1099    2006-10-11  Douglas Bates  <bates@stat.wisc.edu>
1100    
1101            * src/HBMM.[ch]: remove HarwellBoeing format for writing.
1102            * src/SOURCES_C.mkf (SOURCES_C): no longer compile iohb.c
1103    
1104    2006-10-06  Douglas Bates  <bates@stat.wisc.edu>
1105    
1106            * R/d[gs]CMatrix.R: deprecate the writeHB function.  Use writeMM instead.
1107    
1108    2006-10-06  Martin Maechler  <maechler@stat.math.ethz.ch>
1109    
1110            * DESCRIPTION (Version): 0.9975-3
1111    
1112            * R/diagMatrix.R (bdiag): new function constructing block diagonal
1113            (sparse) matrices.
1114            * man/bdiag.Rd: docu + examples
1115    
1116            * R/Csparse.R (replCmat): calling new Csparse_drop() now.
1117    
1118            * src/Csparse.c (Csparse_general_to_symmetric, Csparse_drop): new functions
1119            * R/lsCMatrix.R: three more coercions to lsC (thanks to the above)
1120    
1121            * R/diagMatrix.R (Diagonal): '[<-' method for diag.matrices such
1122            that result is sparse or diagonal (and not dense).
1123    
1124            * man/Subassign-methods.Rd: fix examples
1125    
1126            * R/Matrix.R (Matrix):  Matrix(0, *) or Matrix(*, sparse=TRUE)
1127            should always return a sparse (and not sometimes a diagonal) matrix.
1128    
1129    2006-10-05  Martin Maechler  <maechler@stat.math.ethz.ch>
1130    
1131            * R/Matrix.R ([<-): also for value "Matrix" or "matrix"
1132    
1133    2006-10-04  Douglas Bates  <bates@stat.wisc.edu>
1134    
1135            * DESCRIPTION (Version): 0.9975-2
1136    
1137            * inst/include/Matrix_stubs.c (M_cholmod_sparse_to_triplet): export more symbols
1138    
1139    2006-10-02  Douglas Bates  <bates@R-project.org>
1140    
1141            * tests/dg_Matrix.R: Simplify test taking into account new code.
1142    
1143    2006-09-29  Martin Maechler  <maechler@stat.math.ethz.ch>
1144    
1145            * R/Csparse.R (replCmat): improve for missing i / j in non-simple cases
1146    
1147            * R/lsTMatrix.R: new files w/ missing methods
1148            * R/nsTMatrix.R:  "  'for completeness'
1149    
1150            * tests/Class+Meth.R: a bit less 'not.ok.classes'
1151    
1152            * R/Tsparse.R (t): generalized "t" method from "dgT*" to "Tsparse*"
1153    
1154    
1155    2006-09-28  Douglas Bates  <bates@R-project.org>
1156    
1157            * src/dppMatrix.h: Ensure definition of dspMatrix_validate is
1158            included.
1159    
1160            * src/init.c, inst/include/{Matrix.h,Matrix_stubs.h,cholmod.h}:
1161            Export C-callable functions used in Zt_create in lme4.
1162    
1163    2006-09-28  Martin Maechler  <maechler@stat.math.ethz.ch>
1164    
1165            * DESCRIPTION (Version): 0.9975-1
1166    
1167            * tests/simple.R: less checks fail; using NA, found that our
1168                    kronecker() is not base-compatible with NA's.
1169    
1170            * R/dMatrix.R: "Compare" method now implemented for all cases
1171    
1172            * R/Auxiliaries.R (indTri): == which([lower/upper].tri( * )) new utility
1173    
1174            * man/dtpMatrix-class.Rd: mention length of 'x' slot
1175    
1176            * src/dtpMatrix.c (dtpMatrix_validate): fix check
1177            * src/dspMatrix.c (dspMatrix_validate): ditto
1178    
1179            * R/dtTMatrix.R (gt2tT): fix ("l" -> "n")
1180              including coercion to [nl]tTMatrix.
1181    
1182            * R/diagMatrix.R (show): print a header line as for other classes.
1183    
1184    2006-09-27  Martin Maechler  <maechler@stat.math.ethz.ch>
1185    
1186            * src/Makefile.win (SUBDIRS): fix typo
1187    
1188    2006-09-19  Martin Maechler  <maechler@stat.math.ethz.ch>
1189    
1190            * DESCRIPTION (Date): ready to release 0.9975-0 to CRAN
1191    
1192    2006-09-18  Douglas Bates  <bates@stat.wisc.edu>
1193    
1194            * R/[CT]sparse.R (crossprod and tcrossprod): Handle the cases for x
1195            symmetric and y missing in R code using %*% (cholmod_aat doesn't
1196            accept a symmetric matrix).
1197            * tests/group-methods.R: Uncomment test of crossprod applied to
1198            lsCMatrix objects.
1199    
1200    2006-09-18  Martin Maechler  <maechler@stat.math.ethz.ch>
1201    
1202            * R/AllClass.R (symmetricMatrix): add validity method (available
1203            in C for a long time). Many "n..Matrix": drop (wrong) validity arg.
1204    
1205            * src/lgCMatrix.c (lgCMatrix_validate): check 'x' slot (!)
1206    
1207            * tests/indexing.Rout.save:
1208            * tests/indexing.R: additions, mainly for 'lsparse'
1209    
1210            * R/diagMatrix.R (Diagonal) & coercion to lgTMatrix: fixes for NA
1211            case.
1212    
1213            * R/Auxiliaries.R (nz.NA): new utility now used in nnzero()
1214    
1215    2006-09-16  Martin Maechler  <maechler@stat.math.ethz.ch>
1216    
1217            * R/sparseMatrix.R (prSpMatrix): print logical NAs "visibly"
1218                    as 'N' (1-letter - Ok?)
1219    
1220            * tests/group-methods.R: add test for logical + NAs
1221    
1222            * R/dMatrix.R ("Compare"): fix to work with NA's
1223    
1224            * R/AllClass.R: "Cholesky" etc now inherit from MatrixFactorization.
1225    
1226            * src/lgCMatrix.c (ncsc_to_matrix): renamed from lcsc_to_matrix()
1227                    which is implemented.
1228    
1229    2006-09-15  Martin Maechler  <maechler@stat.math.ethz.ch>
1230    
1231            * src/chm_common.c: coerce logical <-> double instead of
1232            typecasting;  needed for "l" matrix handling in cholmod.
1233    
1234            * tests/other-pkgs.R (graph): small extension in "graph" checks.
1235    
1236            * R/sparseMatrix.R (graphNEL -> Tsparse): method for weight case.
1237            (Tsp2grNEL): other fixes needed
1238    
1239    2006-09-11  Martin Maechler  <maechler@stat.math.ethz.ch>
1240    
1241            * R/AllClass.R ("nMatrix"): and subclasses for "nonzero pattern"
1242                    Matrices, since "lMatrix", also "lsparseM" can have NA
1243            * R/ndenseMatrix.R, etc: new source files
1244            * man/nsparseMatrix-classes.Rd, etc: new help files
1245            * tests/: adaptions
1246            * src/chm_common.c (chm_dense_to_SEXP): and others:
1247                    new 'Rkind' argument: "l*" and "d*" both use CHOLMOD_REAL
1248            * src/Csparse.c, etc: ditto
1249    
1250    2006-09-11  Douglas Bates  <bates@R-project.org>
1251    
1252            * src/Mutils.[ch],init.c inst/include/*.h: Move the
1253            alloc_d**Matrix functions to the lme4 package.
1254    
1255    2006-09-09  Douglas Bates  <bates@R-project.org>
1256    
1257            * src/dsCMatrix.c (dsCMatrix_Cholesky): igoring LDL = FALSE now
1258            fixed
1259    
1260    2006-09-09  Martin Maechler  <maechler@stat.math.ethz.ch>
1261    
1262            * R/lMatrix.R: new
1263    
1264            * R/sparseMatrix.R (Tsp2grNEL): do not yet use graph::foo()
1265    
1266            * R/dgeMatrix.R: do not define tcrossprod() methods for "matrix"
1267            * man/tcrossprod.Rd: ditto
1268    
1269    2006-09-08  Douglas Bates  <bates@stat.wisc.edu>
1270    
1271            * inst/include/Matrix_stubs.c,Matrix.h: Add declarations and stubs
1272            for exported functions
1273            * src/Makefile, src/CHOLMOD/Lib/Makefile, src/Metis,CAMD,CCOLAMD:
1274            Remove partitioning algorithms for sparse matrix reordering.  The
1275            copyright on the Metis code was problematic and the methods were
1276            rarely used.
1277            * src/triplet_to_col.[ch],MMHB.[ch]: Remove triplet_to_col.  Such
1278            operations are now done entirely in CHOLMOD code.
1279    
1280    2006-09-06  Douglas Bates  <bates@R-project.org>
1281    
1282            * src/Mutils.h: Remove functions that are no longer used.
1283    
1284    2006-09-04  Douglas Bates  <bates@R-project.org>
1285    
1286            * src/dtCMatrix.c (dtCMatrix_validate): rename functions.
1287            * src/DEPS.mkf: update
1288    
1289    2006-09-02  Martin Maechler  <maechler@stat.math.ethz.ch>
1290    
1291            * created branches/Matrix-for-R-2.3.x;  on trunk: do
1292            * DESCRIPTION (Version): 0.9975-0
1293            (Depends): R (>= 2.4.0)
1294    
1295    2006-09-01  Douglas Bates  <bates@R-project.org>
1296    
1297            * R/sparseMatrix.R: Added direct method to CsparseMatrix from graphNEL
1298    
1299    2006-09-01  Martin Maechler  <maechler@stat.math.ethz.ch>
1300    
1301            * R/sparseMatrix.R: add coercion from "ANY" to "sparseMatrix"
1302            * R/denseMatrix.R:  add coercion from "ANY" to "denseMatrix"
1303    
1304            * R/Matrix.R ([): use nargs() to disambiguate M[i] and M[i,]
1305    
1306    2006-08-31  Martin Maechler  <maechler@stat.math.ethz.ch>
1307    
1308            * R/sparseMatrix.R (Arith): moved Arith group method one-level up
1309            from "dsparse" to "sparse" and now go via "Csparse" instead of "dgC"
1310            * R/dsparseMatrix.R: ditto
1311            * R/Csparse.R: ditto
1312    
1313    2006-08-31  Martin Maechler  <maechler@stat.math.ethz.ch>
1314    
1315            * R/dMatrix.R (Compare): improve availability of "<", etc
1316            * R/Auxiliaries.R (asTuniq): new; also make use of R 2.4.x print(*,max)
1317    
1318    2006-08-30  Martin Maechler  <maechler@stat.math.ethz.ch>
1319    
1320            * R/dgCMatrix.R: aargh: "Arith(<dgC>, numeric)" was wrong because
1321            of a 0-index which was used as 1-index (..hmm)
1322    
1323            * R/sparseMatrix.R (prSpMatrix): fix printing an all-0 sparse Matrix
1324    
1325            * R/Auxiliaries.R (all0, is0): for 0-testing in presence of NA's
1326            * R/Auxiliaries.R (isTriMat): use all0() for 0-testing.
1327            (.is.diagonal): ditto
1328    
1329            * R/lgTMatrix.R: as("matrix", "lgTMatrix"): warn about NA's
1330    
1331            * R/Matrix.R (Matrix): also work for NA data
1332    
1333    2006-08-28  Martin Maechler  <maechler@stat.math.ethz.ch>
1334    
1335            * R/Matrix.R (Matrix): + 'forceCheck' argument; dimnames setting
1336            in all cases.
1337    
1338    2006-08-27  Douglas Bates  <bates@R-project.org>
1339    
1340            * src/dense.[ch],init.c, R/ddenseMatrix.R, man/band.Rd
1341            (ddense_band): Added triu, tril and band for ddenseMatrix objects.
1342    
1343    2006-08-25  Martin Maechler  <maechler@stat.math.ethz.ch>
1344    
1345            * src/Mutils.c (dup_mMatrix_as_dgeMatrix): added all subclasses of
1346            subclasses of "ddenseMatrix"
1347            * src/init.c et al: outcomment dtrM*_as_dge* and dsyM*_as_dge*_
1348            * R/ddenseMatrix.R et al: setAs("ddenseMatrix", "dgeMatrix", ..)
1349            instead of half dozen specialized ones.
1350    
1351    2006-08-25  Douglas Bates  <bates@R-project.org>
1352    
1353            * R/lmer.R (qqmath method): Bug fix provided by Emmanuel Tillard
1354            <tillard@cirad.fr> - ordering standard errors to match effects.
1355    
1356    2006-08-24  Douglas Bates  <bates@R-project.org>
1357    
1358            * src/lsCMatrix.c (lsCMatrix_trans): Remove lsCMatrix_chol based
1359            on R_ldl.
1360            * R/lCholCMatrix.R,
1361            src/[dl]CholCMatrix.[ch],R_ldl.[ch],Metis_utils.[ch]: removed
1362            * src/dsCMatrix.c (dsCMatrix_to_dgTMatrix): use CHOLMOD
1363            * many files in ./R and ./src: Use more general version of
1364            dup_mMatrix_as_dgeMatrix to simplify method definitions.
1365            * src/Mutils.c (dup_mMatrix_as_dgeMatrix): Add ddiMatrix,
1366            dtpMatrix, dspMatrix and dppMatrix conversions.
1367    
1368    
1369    2006-08-23  Douglas Bates  <bates@R-project.org>
1370    
1371            * R/AllClass.R,lCholCMatrix.R,src/SOURCES_C.mkf,init.c,NAMESPACE:
1372            Remove classes lCholCMatrix and dCholCMatrix based on R_ldl code.
1373            * src/dgeMatrix.c: Ensure 'factors' slot exists in result of
1374            dgeMatrix_crossprod (may need to do this in other places).
1375            * R/AllGeneric.R,dsCMatrix.R, src/dscMatrix.[ch]: Add Cholesky
1376            generic and method for dsCMatrix.  Use CHOLMOD for chol().
1377    
1378    2006-08-22  Douglas Bates  <bates@R-project.org>
1379    
1380            * src/Mutils.c (dup_mMatrix_as_dgeMatrix): updated for general
1381            types of classed Matrices, matrices or numeric or logical vectors.
1382            * src/init.c: register dup_mMatrix_as_dgeMatrix for coercions.
1383            * src/chm_common.c,Mutils.h (as_cholmod_factor): Move check_class
1384            to Mutils.h (as an inline) and change name to Matrix_check_class;
1385            fixes in as_cholmod_factor and chm_factor_to_SEXP.
1386            * src/dsCMatrix.[ch]: Use CHOLMOD for dsCMatrix_chol and
1387            dsCMatrix_matrix_solve.  Comment out vestigial functions.
1388            * src/Csparse.c: use diag_P and uplo_P macros.
1389    
1390    2006-08-21  Douglas Bates  <bates@R-project.org>
1391    
1392            * src/lmer.c (internal_mer_RZXinv): Fix memory leak caught by
1393            valgrind.
1394            * tests/matprod.R: Add tests to verify that 'solve' and '%*%' are
1395            inverses.
1396            * src/sparseQR.c (sparseQR_validate): add new validation test, fix
1397            -Wall warnings.
1398            * src/dppMatrix.c,dtrMatrix.c,dgCMatrix.c,dgeMatrix.c,dspMatrix.c:
1399            Use dup_mMatrix_as_dgeMatrix.
1400    
1401    2006-08-20  Douglas Bates  <bates@R-project.org>
1402    
1403            * src/sparseQR.c: Fix thinko in sparseQR_resid_fitted.
1404            * tests/sparseQR.R: Added
1405            * man/sparseQR-class.Rd: Document methods for qr.* generics
1406            * R/sparseQR.R: Return correct # of coefs; fix cut-and-paste errors
1407    
1408    2006-08-19  Douglas Bates  <bates@R-project.org>
1409    
1410            * NAMESPACE, R/sparseQR.R, src/init.c,sparseQR.[ch],SOURCES_C.mkf:
1411            Added methods for sparseQR for qr.qy, qr.qty, qr.coef, qr.resid
1412            and qr.fitted.
1413            * src/Mutils.[ch]: Added dup_mMatrix_as_dgeMatrix utility
1414            * src/dgCMatrix.c: Check for ordering before storing q in dgCMatrix_QR
1415    
1416    2006-08-18  Martin Maechler  <maechler@stat.math.ethz.ch>
1417    
1418            * R/AllGeneric.R: add "qr" and "chol" generics; via 'trick' since
1419            the base version has no "..." argument.
1420    
1421            * R/sparseMatrix.R (prSpMatrix): fix the triangular unit diagonal case.
1422    
1423            * R/Matrix.R: define and
1424            * NAMESPACE: export as.numeric() and as.logical() methods.
1425                    Let's hope these do not badly slow down something...
1426            Finally export the zapsmall() method.
1427    
1428    2006-08-17  Douglas Bates  <bates@R-project.org>
1429    
1430            * src/dgCMatrix.[ch] (dgCMatrix_matrix_solve), src/init.c,
1431            R/dgCMatrix.R: solve methods for dgCMatrix and dense RHS.
1432            * src/dtCMatrix.c :Remove code that is no longer used
1433            * R/dtCMatrix.R: Use C code for diagU2N in CsparseMatrix classes
1434    
1435    2006-08-14  Douglas Bates  <bates@R-project.org>
1436    
1437            * src/Csparse.[ch],init.c (Csparse_to_logical): Added utilities
1438            Csparse_to_logical and Csparse_symmetric_to_general.
1439            * R/dgCMatrix.R,dsCMatrix.R,Csparse.R : Consolidate general
1440            coercion methods between CsparseMatrix and TsparseMatrix.
1441    
1442    2006-08-14  Douglas Bates  <bates@R-project.org>
1443    
1444            * R/dtCMatrix.R,dgCMatrix.R,Csparse.R src/init.c,dgCMatrix.[ch],
1445            Csparse.[ch],chm_common.c,dense.c : Use CHOLMOD code and methods
1446            for CsparseMatrix, TsparseMatrix, denseMatrix or matrix when
1447            possible.
1448    
1449    2006-08-12  Douglas Bates  <bates@R-project.org>
1450    
1451            * src/chm_common.[ch],Csparse.[ch],Tsparse.[ch],CHMfactor.c,dtTMatrix.c,
1452              dgTMatrix.c,dgCMatrix.c,dsCMatrix.c,dtTMatrix.c, R/dsTMatrix.R,
1453              Tsparse.R,Csparse.R,dgTMatrix.R,dsCMatrix.R,lsCMatrix.R:
1454              generalize conversions between TsparseMatrix, CsparseMatrix,
1455              denseMatrix and matrix.  Preserve triangularity property and
1456              propagate Dimnames in the easy cases.
1457    
1458    2006-08-10  Douglas Bates  <bates@R-project.org>
1459    
1460            * src/lmer.c: adjust checks in glmer_init for S4SXP
1461            * tests/validObj.R: check of all(eq) should be all(eq@x) - worked
1462            before S4SXP but for the wrong reasons.
1463    
1464    2006-08-08  Douglas Bates  <bates@R-project.org>
1465    
1466            * src/Csparse.c (Csparse_crossprod): tcrossprod result has stype = -1.
1467            Later modified to return the upper triangle only.
1468            * R/dgTMatrix.R: Remove vestigial crossprod and tcrossprod methods.
1469    
1470    2006-08-07  Douglas Bates  <bates@R-project.org>
1471    
1472            * src/Csparse.c (Csparse_crossprod): Set stype on result to avoid
1473            R-level conversion to a sparse symmetric class.
1474            * R/Tsparse.R,R/Csparse.R (crossprod and tcrossprod methods):
1475            Remove conversion to sparse symmetric classes (now done in C code).
1476    
1477    2006-08-07  Martin Maechler  <maechler@stat.math.ethz.ch>
1478    
1479            * R/dgCMatrix.R: disable old crossprod and tcrossprod methods
1480            * man/band.Rd:  adapt the \dontshow{} unit test.
1481    
1482    2006-08-07  Martin Maechler  <maechler@stat.math.ethz.ch>
1483    
1484            * DESCRIPTION (Version): 0.995-14  for CRAN
1485    
1486            * tests/other-pkgs.R: oops: library(Matrix) outside *if* !
1487    
1488            * R/sparseMatrix.R (Tsp2grNEL): fixed Tsparse -> graph coercion
1489            * tests/other-pkgs.R:  more checks, sparseMatrix -> graph
1490    
1491            * R/Auxiliaries.R (as_Tsparse, as_Rsparse): new
1492            * R/Tsparse.R (tril, triu, band): methods
1493            * R/dgRMatrix.R (tril, ...):    ditto
1494            * man/band.Rd:                  ditto
1495    
1496    2006-08-04  Martin Maechler  <maechler@stat.math.ethz.ch>
1497    
1498            * R/Matrix.R (head, tail): directly use utils:::head.matrix
1499                    to be up-to-date automatically.
1500    
1501    2006-08-03  Martin Maechler  <maechler@stat.math.ethz.ch>
1502    
1503            * DESCRIPTION (Version): 0.995-13 to be released to CRAN
1504    
1505            * DESCRIPTION (Lazydata): no, instead of 'yes' because it fails for:
1506            * data/CAex.R, inst/external/CAex_slots.rda: replacing data/CAex.rda
1507            * data/KNex.R, inst/external/KNex_slots.rda: replacing data/KNex.rda
1508            such that the S4 objects are always created by the current version
1509            of R and 'Matrix' class definitions.
1510    
1511    2006-08-01  Douglas Bates  <bates@R-project.org>
1512    
1513            * R/lmer.R (LMEoptimize method), tests/lmer.R,
1514            inst/external/test3comp.rda: Added warnings for convergence on
1515            boundary and test cases.
1516    
1517            * src/lmer.c (mer_postVar): Modified to return the variances that
1518            are marginal to the fixed effects, not conditional on them (which
1519            is what the bVar slot contents represent).
1520    
1521    2006-07-31  Douglas Bates  <bates@R-project.org>
1522    
1523            * NAMESPACE, src/lmer.c, R/lmer.R (hatTrace):  Add the hatTrace
1524            function which calls the C function mer_hat_trace2.
1525    
1526            * man/ranef.Rd: Include description of "postVar" argument and
1527            producing a caterpillar plot.
1528    
1529    2006-07-31  Martin Maechler  <maechler@stat.math.ethz.ch>
1530    
1531            * NAMESPACE:    change  "correlation" to "corMatrix"
1532            * R/AllClass.R: to avoid clash with S3 class in 'nlme'.
1533            * R/dpoMatrix.R: ditto
1534            * R/lmer.R:      ditto
1535    
1536    2006-07-28  Douglas Bates  <bates@R-project.org>
1537    
1538            * src/lmer.c (internal_mer_RZXinv): Split the calculation of the
1539            RZXinv slot's contents into a separate internal function that can
1540            be used in mer_hat_trace.
1541    
1542    2006-07-22  Martin Maechler  <maechler@stat.math.ethz.ch>
1543    
1544            * R/Matrix.R: Coercions "Matrix" -> (sparse|dense)Matrix
1545            via new smart
1546            * R/Auxiliaries.R (as_Csparse, as_dense, .M.shapse): new
1547            utility functions.
1548    
1549    
1550    2006-07-21  Martin Maechler  <maechler@stat.math.ethz.ch>
1551    
1552            * R/Csparse.R (tril, triu, band): do return *triangular* classed
1553            matrices when appropriate; band() even symmetric ones.
1554            (replCmat): extend to potentially all "CsparseMatrix"
1555            * R/Tsparse.R (replTmat): extend to all "TsparseMatrix"; hence
1556            allow subassignment for special sparse matrices.
1557    
1558            * R/Auxiliaries.R (as_geClass): factor out the  .M.kind() functionality
1559    
1560            * src/lmer.c (mer_MCMCsamp, glmer_MCMCsamp): new 'verbose'
1561            argument; in glmer_*(): print only if(verbose).
1562    
1563            speed-optimize a few places by moving REAL(.) out of loops.
1564    
1565            * src/lmer.h, src/init.h, R/lmer.R:  related to above.
1566    
1567    2006-07-20  Martin Maechler  <maechler@stat.math.ethz.ch>
1568    
1569            * R/Matrix.R("["): disable ("Matrix", i = "logical", j = "missing"),
1570                    since that wrongly triggers also for M[ logi , ]
1571    
1572            * R/denseMatrix.R: "[" methods now also work e.g. when indexing
1573            a symmetric matrix that results in a non-symmetric one.
1574            * R/Auxiliaries.R (as_geClass): new function used in "[" above.
1575    
1576            * R/dMatrix.R: make round(M) work as round(M, 0)
1577    
1578            * R/dgTMatrix.R (image): coordinate system and axis now use
1579            1-based indices, not 0-based ones.
1580    
1581            * R/Tsparse.R (.ind.prep for "["): get rid of max(<empty>) warning.
1582            * tests/indexing.R: test it.
1583    
1584            * NAMESPACE: export isSymmetric(); has been a generic in "base" for a while;
1585            * man/isSymmetric-methods.Rd: and document it.
1586    
1587            * R/SparseM-conv.R: added coercion methods for some 'SparseM' matrices.
1588            * man/SparseM-conv.Rd: docu them
1589    
1590            * tests/other-pkgs.R: renamed from tests/graph.R and add example
1591                    for 'SparseM' conversions
1592    
1593    2006-07-17  Douglas Bates  <Douglas.Bates@R-project.org>
1594    
1595            * R/Matrix.R (head): added head() and tail() methods.
1596    
1597    2006-07-17  Martin Maechler  <maechler@stat.math.ethz.ch>
1598    
1599            * DESCRIPTION (Version): 0.995-12 released to CRAN
1600    
1601    2006-07-15  Martin Maechler  <maechler@stat.math.ethz.ch>
1602    
1603            * tests/simple.R: add check for correct dsT -> dgT coercion;
1604                    add check for correct printing of symmetric sparse matrices.
1605    
1606            * R/Auxiliaries.R (non0ind): return *all* non-0 entry indices also
1607            for sparse symmetric matrices.
1608    
1609            * src/dsTMatrix.c (dsTMatrix_as_dgTMatrix): do not copy the
1610            diagonal twice.
1611    
1612    2006-07-11  Douglas Bates  <Douglas.Bates@R-project.org>
1613    
1614            * src/dsTMatrix.c (dsTMatrix_as_dgTMatrix): Fix a case of INTEGER
1615            being applied to the x slot (detected by Brian Ripley).
1616    
1617    2006-07-10  Martin Maechler  <maechler@stat.math.ethz.ch>
1618    
1619            * src/dgCMatrix.c (dgCMatrix_validate): 'p' slot must have correct length.
1620    
1621            * R/Auxiliaries.R (isTriC): fix buglet (we were 1-based!)
1622    
1623    2006-07-08  Martin Maechler  <maechler@stat.math.ethz.ch>
1624    
1625            * src/lgCMatrix.c (lgCMatrix_diag): new function
1626            * R/lgCMatrix.R (diag): for new method
1627    
1628            * R/AllClass.R (TsparseMatrix): do use Tsparse_validate
1629                 ==> construction of illegal "*gTMatrix" via new() should
1630                 now be much less easy:
1631            * tests/Class+Meth.R: assertError() for some illegal "dgT*"
1632    
1633            * R/Matrix.R (Matrix): Matrix(0, nrow,ncol) now "goes sparse"
1634                    directly.
1635            * man/Matrix.Rd: documents it.
1636    
1637    2006-07-06  Douglas Bates  <bates@R-project.org>
1638    
1639            * src/pedigree.c (pedigree_inbreeding): Correction in
1640            initialization.  This function is not currently being used and is
1641            not fully tested.
1642    
1643            * NAMESPACE, R/{AllClass.R,lmer.R}, src/{init.c,lmer.c}:
1644            Introduced the glmer class.  Added code for mcmcmsamp on glmer
1645            objects.  Modified validity check on pedigree objects to account
1646            for nonparallel patterns of missingness of parents.
1647    
1648            * man/{lmer-class.Rd,mcmcsamp.Rd}: Update documentation for glmer
1649            class.
1650    
1651    2006-07-01  Martin Maechler  <maechler@stat.math.ethz.ch>
1652    
1653            * R/pMatrix.R: coercion pMatrix -> Tsparse
1654    
1655    2006-06-12  Douglas Bates  <bates@R-project.org>
1656    
1657            * DESCRIPTION (Version): 0.995-11 released to CRAN
1658    
1659            * R/lmer.R (mcmcsamp method): Corrected arrangments of names on
1660            the output from mcmcsamp.
1661    
1662    2006-06-10  Douglas Bates  <bates@R-project.org>
1663    
1664            * R/lmer.R (simulestimate): added C code for calculating the trace
1665            of the hat matrix.
1666    
1667    2006-06-09  Martin Maechler  <maechler@stat.math.ethz.ch>
1668    
1669            * R/diagMatrix.R (setAs): define coercion methods to sparse matrix
1670            classes.
1671            * R/sparseMatrix.R etc: multiplication of diagonal and sparse
1672    
1673    2006-06-08  Martin Maechler  <maechler@stat.math.ethz.ch>
1674    
1675            * R/dgTMatrix.R (colSums): etc. All four of
1676            colSums(), rowSums(), colMeans(), rowMeans() now should work for
1677            all "Matrices".
1678    
1679    2006-06-01  Douglas Bates  <bates@stat.wisc.edu>
1680    
1681            * R/lmer.R (panel.ci): Add a reference line at zero and a
1682            background grid to the qqmath plot of ranef.lmer.
1683    
1684    2006-05-30  Douglas Bates  <bates@stat.wisc.edu>
1685    
1686            * R/lmer.R (expandSlash): Functions (non-exported) to allow nested
1687            grouping factors to be specified in the formula as (1|foo/bar).
1688    
1689    2006-05-27  Douglas Bates  <bates@stat.wisc.edu>
1690    
1691            * R/lmer.R (findbars and others): Change check of is.numeric to
1692            !is.language to resolve the bug reported by Jacob Wegelin.
1693    
1694            * src/pedigree.c (pedigree_inbreeding): Initial implementation of
1695            code to evaluate inbreeding coefficients without calculating T,
1696            based on code in Sargolzaei and Iwaisaki's paper.
1697    
1698    2006-05-27  Douglas Bates  <bates@stat.wisc.edu>
1699    
1700            * R/{lmer.R,AllGeneric.R}, src/{init.c,lmer.[ch]}: Added local
1701            generic and mer methods for isNested and denomDF. This denomDF was
1702            an attempt to emulate that in lme but I don't think that makes
1703            sense.  Use the trace of the hat matrix instead.
1704    
1705    2006-05-17  Martin Maechler  <maechler@stat.math.ethz.ch>
1706    
1707            * R/sparseMatrix.R: Matrix <-> graph methods: can no longer use
1708            the C code depending on a slot structure that's no longer valid.
1709            * src/dgTMatrix.c: ditto (also: src/init.c src/dgTMatrix.h)
1710    
1711    
1712    2006-05-17  Douglas Bates  <bates@stat.wisc.edu>
1713    
1714            *  R/{AllGeneric.R,Csparse.R},man/band.Rd,NAMESPACE: changed name
1715            of lowerTriMatrix generic and methods to tril (also upper to triu)
1716            and added a general band extractor.
1717    
1718    2006-05-16  Douglas Bates  <bates@stat.wisc.edu>
1719    
1720            * R/pedigree.R (pedigree): Replace sire and dam values outside the
1721            allowable range with NAs. Added a corresponding check in the
1722            validity check for the pedigree class.
1723    
1724            * R/[CT]sparse.R ([t]crossprod): The result of single-argument
1725            crossprod methods now inherits from symmetricMatrix.
1726    
1727    2006-05-15  Douglas Bates  <bates@stat.wisc.edu>
1728    
1729            * R/AllGeneric.R (lowerTriMatrix): Added (but did not export)
1730            generics lowerTriMatrix and upperTriMatrix along with methods for
1731            the Csparse virtual class.  Also added a C function Csparse_band
1732            that implements these methods by calling cholmod_band.
1733    
1734    2006-05-15  Martin Maechler  <maechler@stat.math.ethz.ch>
1735    
1736            * R/Tsparse.R ("["): column or row subsetting; @Dimnames[k] got
1737            erased when it was NULL.  This led to invalid subselections!
1738    
1739    2006-04-25  Douglas Bates  <bates@stat.wisc.edu>
1740    
1741            * R/dtCMatrix.R: avoid coercion of dtCMatrix object to dgCMatrix
1742            in method for "t" so as not to lose the unit diagonal property.
1743    
1744    2006-04-19  Douglas Bates  <bates@stat.wisc.edu>
1745    
1746            * R/lmer.R, R/AllGeneric.R, NAMESPACE: Remove the postVar generic
1747            and methods.  This is now an option to the ranef method for the
1748            mer class.
1749    
1750            * src/cs_utils.c: Ensure that the nz component is -1 for a
1751            compressed column-oriented matrix.  Minor formatting cleanup.
1752    
1753            * man/lmer-class.Rd: Document the qqmath method for ranef.lmer
1754            objects.
1755    
1756    2006-04-19  Martin Maechler  <maechler@stat.math.ethz.ch>
1757    
1758            * R/Auxiliaries.R (diagU2N): new for the solve() methods in
1759            * R/dtCMatrix.R: where dgC -> dgT coercion now preserves diag = "U".
1760    
1761    2006-04-15  Douglas Bates  <bates@stat.wisc.edu>
1762    
1763            * src/cs.[ch],src/cs_utils.[ch] : Added Tim Davis' CSparse library
1764            in cs.[ch] and utilities to interface to that code in cs_utils.[ch].
1765    
1766            * R/dtCMatrix.R, src/dtCMatrix.[ch] : CSparse-based solve methods
1767            for the dtCMatrix class.
1768    
1769    2006-04-12  Douglas Bates  <bates@stat.wisc.edu>
1770    
1771            * R/pedigree.R, R/AllClass.R, NAMESPACE: added a pedigree class
1772            and methods for it.
1773    
1774    2006-04-12  Martin Maechler  <maechler@stat.math.ethz.ch>
1775    
1776            * R/dgCMatrix.R: add  storage.mode(.) <- "double" for "matrix"
1777            arguments, such that M %*% 1:6 now works
1778            * Tests/matprod.R: test the above
1779    
1780    2006-04-03  Douglas Bates  <bates@stat.wisc.edu>
1781    
1782            * R/lmer.R (qqmath,ranef.lmer-method): added a qqmath method for
1783            the ranef.lmer class.
1784    
1785            * R/AllClass.R, NAMESPACE, R/lmer.R: Added a postVar generic and
1786            methods to extract the posterior variances from the bVar slot.
1787    
1788    2006-03-30  Martin Maechler  <maechler@stat.math.ethz.ch>
1789    
1790            * R/dtCMatrix.R: allow coercion from  dgC* to triangular (dtC*)
1791            * R/dsCMatrix.R: and symmetric (dsC*) 'Csparse' matrices.
1792    
1793            * R/Tsparse.R: Tsparse* -> Csparse* coercion now works and is tested in
1794            * tests/simple: (extended)
1795    
1796            * R/sparseMatrix.R (isTriangular): now using much improved
1797            * R/Auxiliaries.R (isTriC): new triangularity check for *CMatrix
1798    
1799    2006-03-23  Douglas Bates  <bates@stat.wisc.edu>
1800    
1801            * src/dsyMatrix.c (dsyMatrix_as_dspMatrix): Propagate DimNames
1802            (problem report from Franklin Parlamis).  This should be done
1803            generally.
1804    
1805    2006-03-21  Douglas Bates  <bates@stat.wisc.edu>
1806    
1807            * R/AllClass.R,lmer.R: Change the name of the lmer.ranef class to
1808            ranef.lmer (like summary.lmer).  Add the coef.lmer class and
1809            update the plot methods.
1810    
1811    2006-03-20  Douglas Bates  <bates@stat.wisc.edu>
1812    
1813            * R/lmer.R (resid and ranef methods):  Added methods for the
1814            "residuals" and "resid" generic but only for linear mixed model
1815            fits.  Changed the ranef method to return a list of data frames so
1816            that the plot methods now work.
1817    
1818    2006-03-16  Douglas Bates  <bates@bates2>
1819    
1820            * src/dpoMatrix.c (dpoMatrix_chol): Require n > 0 in call to
1821            dpotrf - otherwise the BLAS on Mac OS X complains and quits.
1822    
1823            * DESCRIPTION (Date): New release
1824    
1825    2006-03-15  Martin Maechler  <maechler@stat.math.ethz.ch>
1826    
1827            * DESCRIPTION (Version): 0.995-6  -- to be released to CRAN
1828    
1829            * data/KNex.rda: replacing 'mm' and 'y' by KNex <- list(mm=mm, y=y)
1830            * man/KNex.Rd: and other help files
1831            * tests/*.R: several ones needed adaption
1832            * inst/doc/Comparisons.Rnw: ditto
1833    
1834    2006-03-11  Martin Maechler  <maechler@stat.math.ethz.ch>
1835    
1836            * R/dgCMatrix.R (replCmat): "[<-" methods for dgCMatrix
1837    
1838            * tests/indexing.R: tests for new [<- methods for sparse matrices.
1839    
1840    2006-03-10  Martin Maechler  <maechler@stat.math.ethz.ch>
1841    
1842            * R/dgTMatrix.R (replTmat): "[<-" methods for dgTMatrix
1843    
1844            * R/Tsparse.R (.ind.prep): fix out-of-range indexing
1845    
1846    2006-03-08  Martin Maechler  <maechler@stat.math.ethz.ch>
1847    
1848            * R/dMatrix.R: enable things like  M [ M < 10 ]
1849            * R/dgeMatrix.R: implement it
1850    
1851    2006-03-06  Martin Maechler  <maechler@stat.math.ethz.ch>
1852    
1853            * R/AllClass.R: define "summary.mer" and "*.lmer"
1854            * R/lmer.R (summary): summary(<mer>) computes & returns the above;
1855            * R/lmer.R (show): now works with summary()
1856    
1857    2006-03-04  Martin Maechler  <maechler@stat.math.ethz.ch>
1858    
1859            * R/dgCMatrix.R: finally direct "Arith"  dgC o dgC
1860            * R/Auxiliaries.R (WhichintersectInd): and other utilities to
1861                    support the above
1862    
1863    2006-02-07  Douglas Bates  <bates@stat.wisc.edu>
1864    
1865            * R/lmer.R (lmer): fix initial values of offset and weights for glm.fit.
1866            Use glmFit$prior.weights for weights in a glmm.
1867            Allow an option usePQL = FALSE to skip the PQL steps for the
1868            Laplace method (and, in time, the AGQ method).
1869    
1870            * src/lmer.c (mer_factor): Move downdating and factoring of XtX
1871            into a separate function internal_mer_Xfactor to be able to call
1872            it from internal_bhat.
1873    
1874    2006-01-23  Martin Maechler  <maechler@stat.math.ethz.ch>
1875    
1876            * tests/Class+Meth.R (tstMatrixClass): function for much better
1877            testing; now again of all actual classes.
1878    
1879            * src/Mutils.c (MAKE_TRIANGULAR_BODY, MAKE_SYMMETRIC_BODY):
1880                    use macros and define make_d_matrix_* and make_i_matrix_*
1881                    where _i_ is for the ldense routines:
1882    
1883            * src/ldense.c (ltrMatrix_as_lgeMatrix): provide functions
1884            * src/ldense.c (lsyMatrix_as_lgeMatrix):
1885    
1886            * R/ldenseMatrix.R: use the above in setAs(*,"lgeMatrix")
1887    
1888    
1889    2006-01-16  Martin Maechler  <maechler@stat.math.ethz.ch>
1890    
1891            * R/Matrix.R (Matrix): has become much "smarter" now auto-producing
1892                    many different kinds of matrices.
1893            * R/*.R: quite a few new methods were needed for R CMD check with
1894                    new Matrix().  Very good for users playing around.
1895    
1896    
1897    2006-01-15  Martin Maechler  <maechler@stat.math.ethz.ch>
1898    
1899            * src/dgeMatrix.c (dMatrix_validate): new
1900            * src/Mutils.c (dense_nonpacked_validate): new
1901    
1902            * src/dtrMatrix.c (dtrMatrix_validate): improved/fixed
1903    
1904    
1905    2006-01-14  Douglas Bates  <bates@stat.wisc.edu>
1906    
1907            * R/AllClass.R (compMatrix), (generalMatrix): new virtual classes
1908    
1909    2006-01-07  Douglas Bates  <bates@stat.wisc.edu>
1910    
1911            * DESCRIPTION (Version): 0.99-6 released to CRAN
1912    
1913            * src/dgBCMatrix.c (cscb_trcbsm): Fix due to Peter Dalgaard for
1914            segfault in cases with multiple non-nested grouping factors.
1915    
1916    2006-01-03  Martin Maechler  <maechler@stat.math.ethz.ch>
1917    
1918            * DESCRIPTION (Version): 0.99-4 to be released to CRAN
1919                    (Depends): also on 'utils'
1920    
1921            * R/AllClass.R (diagonalMatrix): new class with "ddi*" and "ldi*"
1922            * R/diagMatrix.R (Diagonal): constructor and methods for
1923            diagonal matrices
1924    
1925            * R/ltTMatrix.R: new "minimal methods"
1926    
1927    2005-12-12  Martin Maechler  <maechler@stat.math.ethz.ch>
1928    
1929            * R/AllGeneric.R (tcrossprod): 2-argument version; here, and for
1930            all methods (and help files).
1931    
1932    2005-12-09  Martin Maechler  <maechler@stat.math.ethz.ch>
1933    
1934            * R/Auxiliaries.R (dimNamesCheck): fixed thinko -> bug
1935                    for case (dimn.  op  no_dimn.)
1936    
1937    2005-11-14  Douglas Bates  <bates@stat.wisc.edu>
1938    
1939            * DESCRIPTION (Version): 0.99-2  released to CRAN
1940    
1941    2005-10-21  Douglas Bates  <bates@stat.wisc.edu>
1942    
1943            * R/lmer.R (simulate method): Fixed a drop=FALSE problem reported
1944            by Julian Faraway.
1945    
1946    2005-10-06  Martin Maechler  <maechler@stat.math.ethz.ch>
1947    
1948            * R/Auxiliaries.R (try_as): new utility
1949            * R/sparseMatrix.R: use try_as() in coercion to original class
1950    
1951    2005-09-30  Martin Maechler  <maechler@stat.math.ethz.ch>
1952    
1953            * src/dgCMatrix.c (double_to_csc): and dgeMatrix_to_csc()
1954    
1955    2005-09-29  Martin Maechler  <maechler@stat.math.ethz.ch>
1956    
1957            * R/Auxiliaries.R (dimNamesCheck): added
1958    
1959            * R/Matrix.R (as.array), (as.vector): new
1960    
1961    2005-09-28  Martin Maechler  <maechler@stat.math.ethz.ch>
1962    
1963            * R/Matrix.R (Matrix): get logical argument 'sparse' with a smart
1964                    default.
1965            * R/AllClass.R: move 'factors' slot toplevel "Matrix";
1966                    "pMatrix" now contains "sparseMatrix"
1967    
1968    2005-09-26  Martin Maechler  <maechler@stat.math.ethz.ch>
1969    
1970            * tests/Class+Meth.R: new tests; t(t(m)) == m
1971    
1972            * src/dtCMatrix.c (tsc_transpose): add forgotten "diag" slot
1973    
1974            * src/dsTMatrix.c (dsTMatrix_as_dsCMatrix): bad typo (segfault!)
1975            * src/dtTMatrix.c (dtTMatrix_as_dtCMatrix): new
1976    
1977            * R/dspMatrix.R: typo in "t" method
1978    
1979    2005-09-18  Douglas Bates  <bates@wisc.edu>
1980    
1981            * R/AllClass.R (TsparseMatrix), CsparseM* and RsparseM*
1982            * R/Tsparse.R: instead of R/gTMatrix.R
1983            * R/Csparse.R: new
1984            * src/Tsparse.c (Tsparse_to_Csparse): new; -> cholmod_()
1985            * src/Tsparse.c: new; many trivial methods calling cholmod_()
1986            * src/Csparse.c (Csparse_to_Tsparse), transpose, (mat|cross)prod:
1987                            via cholmod
1988    
1989    2005-09-16  Martin Maechler  <maechler@stat.math.ethz.ch>
1990    
1991            * R/Auxiliaries.R (non0ind): new function using new C code
1992            * src/dgCMatrix.c (compressed_non_0_ij): new utility
1993    
1994    2005-09-15  Douglas Bates  <bates@localhost.localdomain>
1995    
1996            * src/chm_common.h: header file required by all C sources that
1997            call CHOLMOD functions.  It defines a cholmod_common structure
1998            called 'c' whose address is passed as the last argument to
1999            (virtually) every CHOLMOD function.
2000    
2001            * src/Pattern.c: Simple example of the use of CHOLMOD.
2002    
2003            * src/init.c: initialize and finalize the cholmod_common structure.
2004    
2005            * src/Makefile: Added source packages CHOLMOD UMFPACK AMD COLAMD
2006            LDL and CCOLAMD from the U. of Florida sparse matrix library.
2007    
2008    2005-09-08  Martin Maechler  <maechler@stat.math.ethz.ch>
2009    
2010            * inst/test-tools.R: new file collecting the utility functions used
2011                    in ./tests/*.R
2012    
2013            * R/ddenseMatrix.R (cbind2): new methods for "numeric" and "matrix"
2014            * R/Matrix.R (cbind2): methods for NULL and missing
2015    
2016    2005-08-31  Martin Maechler  <maechler@stat.math.ethz.ch>
2017    
2018            * R/AllClass.R: new "index" class for "[" and "[<-":
2019                    First cut at "symmetricMatrix" and "triangularMatrix"
2020            * R/gTMatrix.R (.ind.prep): new function;
2021                    Logical and character indexing now work too.
2022            * R/Matrix.R: cheap "[<-" methods for denseMatrix now work
2023            * tests/indexing.R: new, including *.Rout.save
2024            * tests/dgTMatrix.R: new
2025    
2026    2005-08-29  Douglas Bates  <bates@wisc.edu>
2027    
2028            * src/dgTMatrix.c (graphNEL_as_dgTMatrix): Corrected the position
2029            indicator pos not being updated.  Also enforced upper triangular
2030            for symmetric case.  Need to coerce edges component of elements of
2031            edge list - grr! (Why don't they define their classes cleanly?)
2032    
2033    2005-08-26  Martin Maechler  <maechler@stat.math.ethz.ch>
2034    
2035            * R/Matrix.R:  added first "[<-" methods; not yet functional
2036            * R/denseMatrix.R: ditto
2037            * man/Subassign-methods.Rd: new help file for these
2038    
2039    2005-08-25  Martin Maechler  <maechler@stat.math.ethz.ch>
2040    
2041            * DESCRIPTION (Version): 0.98-6
2042    
2043            * R/denseMatrix.R: new file for "[" fallback methods for all dense
2044            matrices.
2045    
2046    2005-08-19  Martin Maechler  <maechler@stat.math.ethz.ch>
2047    
2048            * src/lgCMatrix.c (lcsc_to_matrix): new; need for
2049                    as( <logical>, "matrix")
2050    
2051            * R/pMatrix.R: coercion to "lgTMatrix"
2052    
2053            * R/gTMatrix.R: new virtual class to define "[" methods for.
2054            * man/gTMatrix-class.Rd:
2055            * General slight re-organization of where "[" methods are defined.
2056              more to come.
2057    
2058    2005-08-18  Douglas Bates  <bates@wisc.edu>
2059    
2060            * DESCRIPTION (Version): 0.98-5  released to CRAN
2061    
2062            * src/dgTMatrix.c (graphNEL_as_dgTMatrix): add first graphNEL methods
2063            * .....
2064    
2065    2005-08-18  Douglas Bates  <bates@localhost.localdomain>
2066    
2067            * R/lmer.R: Corrected naming scheme in mcmcsamp to work with lmer
2068            or glmer objects.
2069    
2070    2005-08-17  Martin Maechler  <maechler@stat.math.ethz.ch>
2071    
2072            * DESCRIPTION (Version): 0.98-4 : upload to CRAN
2073    
2074    2005-08-16  Douglas Bates  <bates@localhost.localdomain>
2075    
2076            * R/HBMM.R: finish re-writing R-only code.
2077    
2078    2005-08-15  Douglas Bates  <bates@localhost.localdomain>
2079    
2080            * man/externalFormats.Rd: move documentation for writeHB and
2081            writeMM here.
2082    
2083            * src/mmio.c: replace inclusion of <malloc.h> by <stdlib.h>
2084            (suggested by Paul Roecker).
2085    
2086            * tests/validObj.R (assertError): Comment out test that is failing
2087            after recent changes in r-devel.
2088    
2089    
2090    2005-08-11  Martin Maechler  <maechler@stat.math.ethz.ch>
2091    
2092            * R/AllClass.R: intermediate virtual class "denseMatrix"
2093            * man/denseMatrix-class.Rd
2094            * NAMESPACE: export it, and also export
2095            * man/unused-classes.Rd: "iMatrix", "zMatrix" and "ldenseMatrix"
2096    
2097    2005-08-10  Douglas Bates  <bates@wisc.edu>
2098    
2099            * DESCRIPTION (Version): 0.98-3 to CRAN
2100    
2101            * src/dtrMatrix.c (dtrMatrix_validate): fixed up validation and
2102            matrix_solve code (which was really, really wrong).
2103    
2104    2005-08-07  Douglas Bates  <bates@wisc.edu>
2105    
2106            * DESCRIPTION (Version): 0.98-2
2107    
2108            * R/HBMM.R (readHB), (readMM): read Matrix Market formats
2109    
2110            * R/lmer.R (abbrvNms): new
2111            * R/lmer.R (mcmcsamp): allow transformed parameters
2112            * src/HBMM.c (Matrix_writeMatrixMarket): Added read/write routines
2113            for the Harwell-Boeing and the MatrixMarket formats.
2114    
2115    2005-08-04  Martin Maechler  <maechler@stat.math.ethz.ch>
2116    
2117            * man/dtrMatrix-class.Rd: add examples
2118            * man/dtpMatrix-class.Rd: ditto; plus note about PROBLEM
2119    
2120            * TODO: note the dtpMatrix (docu) bug
2121    
2122            * R/zzz.R (.onLoad): assignInNamespace("as.matrix", *, "base")
2123            in order to ensure that new as.matrix() is used by old functions,
2124            e.g., svd(), qr(), eigen(), dist(),..;
2125                  apply(), also matplot() or pairs().
2126    
2127    
2128    2005-08-03  Martin Maechler  <maechler@stat.math.ethz.ch>
2129    
2130            * R/lmer.R: add 'fixme' comments and move the linear vs glm check;
2131              add comments about 'control' / lmerControl() arguments
2132    
2133    2005-07-27  Douglas Bates  <bates@wisc.edu>
2134    
2135            * man/sleepstudy.Rd: Added the sleep data set.
2136            * DESCRIPTION (Version): 0.98-1  released to CRAN
2137    
2138    2005-07-12  Douglas Bates  <bates@wisc.edu>
2139            * man/sleepstudy.Rd: Added the sleep data set.
2140    
2141            * R/lmer.R (glmmMCMC): Added PACKAGE = "Matrix" in a couple of
2142            .Call calls that were producing spurious output.
2143    
2144    2005-07-05  Douglas Bates  <bates@wisc.edu>
2145    
2146            * R/lmer.R (lmer): stored updated variance component estimates in
2147            mer object for the generalized model.  (Bug reported by Renaud
2148            Lancelot).
2149    
2150    2005-07-03  Douglas Bates  <bates@wisc.edu>
2151    
2152            * src/lmer.c (glmer_devAGQ): Added AGQ for single grouping factor,
2153            unidimensional case.
2154    
2155    2005-06-08  Douglas Bates  <bates@wisc.edu>
2156    
2157            * DESCRIPTION (Version): 0.96-1
2158    
2159            * moved  lmer-class' R and C code moved from lme4 to here
2160    
2161    2005-06-04  Douglas Bates  <bates@wisc.edu>
2162    
2163            * R/dgCMatrix.R: Call to csc_matrix_mm used undefined arguments
2164            (reported by Guissepe Ragusa <gragusa@ucsd.edu>)
2165    
2166    2005-06-02  Douglas Bates  <bates@wisc.edu>
2167    
2168            * src/Makefile.win: Forgot to update this when Makefile changed.
2169    
2170    2005-05-11  Douglas Bates  <bates@wisc.edu>
2171    
2172            * src/dgCMatrix.c (csc_transpose): Simplified function fixing a
2173            bug reported by Kurt Hornik and Michael Hahsler.
2174    
2175    2005-05-10  Douglas Bates  <bates@wisc.edu>
2176    
2177            * src/lgCMatrix.c (Matrix_lgClgCmm): Implementation of methods for
2178            logical sparse matrices.  These will also be used in the symbolic
2179            analysis for lmer objects.
2180    
2181            * src/dsCMatrix.c (dsCMatrix_matrix_solve): Copied the dimensions
2182            of b to the result.  Fixes bug reported by Jean.Coursol@math.u-psud.fr
2183    
2184    2005-05-06  Douglas Bates  <bates@wisc.edu>
2185    
2186            * src/dgeMatrix.c (dgeMatrix_colsums): Added an implementation of
2187            colMeans, colSums, rowMeans and rowSums.
2188    
2189    2005-04-18  Douglas Bates  <bates@wisc.edu>
2190    
2191            * src/lgCMatrix.[ch]: code for _validate method and stub for
2192            multiplication operation.
2193    
2194            * src/dgeMatrix.c (dgeMatrix_matrix_solve): Passing wrong argument
2195            to dgetrs.
2196    
2197            * src/init.c: Fix cut-and-paste error in definition of
2198            dgeMatrix_matrix_solve
2199    
2200            * src/{many files}: Tighten code by using ALLOC_SLOT.
2201    
2202    2005-04-15  Douglas Bates  <bates@wisc.edu>
2203    
2204            * R/AllClass.R: Add lgTMatrix and lgCMatrix classes
2205    
2206            * DESCRIPTION: Eliminate import of stats.
2207    
2208    
2209    2005-04-06  Douglas Bates  <bates@wisc.edu>
2210    
2211            * R/AllClass.R : add logical sparse matrix classes
2212    
2213  2005-04-01  Martin Maechler  <maechler@stat.math.ethz.ch>  2005-04-01  Martin Maechler  <maechler@stat.math.ethz.ch>
2214    
2215          * R/dgTMatrix.R: add "[" method for triplet matrices          * R/dgTMatrix.R: add "[" method for triplet matrices
2216          * R/sparseMatrix.R: and other sparse ones; --> add show() for sparse          * R/sparseMatrix.R: and other sparse ones; --> add show() for sparse
2217    
2218  2005-03-31  Douglas Bates  <bates@bates1-home>  2005-03-31  Douglas Bates  <bates@wisc.edu>
2219    
2220          * DESCRIPTION (Version): release 0.95-5 to CRAN          * DESCRIPTION (Version): release 0.95-5 to CRAN
2221    
# Line 29  Line 2241 
2241          * tests/dpoMatrix.R: tests should now be less platform dependent;          * tests/dpoMatrix.R: tests should now be less platform dependent;
2242            also run for R 2.1.0; using as.matrix()            also run for R 2.1.0; using as.matrix()
2243    
2244  2005-03-15  Douglas Bates  <bates@bates1-home>  2005-03-15  Douglas Bates  <bates@wisc.edu>
2245    
2246          * R/pMatrix.R: "pMatrix" class added          * R/pMatrix.R: "pMatrix" class added
2247          * ....          * ....
2248    
2249  2005-03-14  Douglas Bates  <bates@bates1-home>  2005-03-14  Douglas Bates  <bates@wisc.edu>
2250    
2251          * R/dtpMatrix.R: Add unpack method and an example.          * R/dtpMatrix.R: Add unpack method and an example.
2252    
# Line 49  Line 2261 
2261            crossprod() and "%*%" methods added; tests, too.            crossprod() and "%*%" methods added; tests, too.
2262          * tests/matprod.R: new, for testing these          * tests/matprod.R: new, for testing these
2263    
2264  2005-03-03  Douglas Bates  <bates@bates1-home>  2005-03-03  Douglas Bates  <bates@wisc.edu>
2265    
2266          * src/lmer.c (lmer_fitted): Added.          * src/lmer.c (lmer_fitted): Added.
2267    
2268  2005-03-02  Douglas Bates  <bates@bates1-home>  2005-03-02  Douglas Bates  <bates@wisc.edu>
2269    
2270          * R/dsTMatrix.R: Conversion from dsTMatrix to dsCMatrix          * R/dsTMatrix.R: Conversion from dsTMatrix to dsCMatrix
2271    
2272  2005-02-28  Douglas Bates  <bates@bates1-home>  2005-02-28  Douglas Bates  <bates@wisc.edu>
2273    
2274          * src/*.c,po/,inst/po: Internationalization and localization of          * src/*.c,po/,inst/po: Internationalization and localization of
2275          the package.          the package.
# Line 105  Line 2317 
2317    
2318          * */* : almost complete reorganization of classes.          * */* : almost complete reorganization of classes.
2319    
2320  2005-01-26  Douglas Bates  <bates@bates7>  2005-01-26  Douglas Bates  <bates@wisc.edu>
2321    
2322          * R/AllGeneric.R: Added matrix exponential generic expm and a method          * R/AllGeneric.R: Added matrix exponential generic expm and a method
2323          for the geMatrix class.          for the geMatrix class.
2324    
2325  2005-01-24  Douglas Bates  <bates@bates7>  2005-01-24  Douglas Bates  <bates@wisc.edu>
2326    
2327          * src/Makefile (clean): Remove *.a and *.so          * src/Makefile (clean): Remove *.a and *.so
2328    
2329          * man/cscBlocked-class.Rd: Remove reference to the lmer-class.          * man/cscBlocked-class.Rd: Remove reference to the lmer-class.
2330    
2331  2005-01-23  Douglas Bates  <bates@bates7>  2005-01-23  Douglas Bates  <bates@wisc.edu>
2332    
2333          * src/lmer.c (Lind): Definition of Lind was backwards.  This only          * src/lmer.c (Lind): Definition of Lind was backwards.  This only
2334          had an effect in cases with more than 2 grouping factors.          had an effect in cases with more than 2 grouping factors.
2335    
2336  2005-01-03  Douglas Bates  <bates@bates1-home>  2005-01-03  Douglas Bates  <bates@wisc.edu>
2337    
2338          * src/lmeRep.c (lmer_variances): change from lmeRep to lmer          * src/lmeRep.c (lmer_variances): change from lmeRep to lmer
2339    
2340  2004-12-23  Douglas Bates  <bates@bates1-home>  2004-12-23  Douglas Bates  <bates@wisc.edu>
2341    
2342          * src/init.c (R_init_Matrix): Reorder calls to R_registerRoutines          * src/init.c (R_init_Matrix): Reorder calls to R_registerRoutines
2343          and R_useDynamicSymbols (suggested by B.D.Ripley).          and R_useDynamicSymbols (suggested by B.D.Ripley).
2344    
2345  2004-12-14  Douglas Bates  <bates@bates1-home>  2004-12-14  Douglas Bates  <bates@wisc.edu>
2346    
2347          * R/sscMatrix.R: Add determinant methods          * R/sscMatrix.R: Add determinant methods
2348    
2349          * src/triplet.[ch],src/init.c (triplet_to_matrix): Add a coercion          * src/triplet.[ch],src/init.c (triplet_to_matrix): Add a coercion
2350          for tripletMatrix to matrix.          for tripletMatrix to matrix.
2351    
2352  2004-12-13  Douglas Bates  <bates@bates1-home>  2004-12-13  Douglas Bates  <bates@wisc.edu>
2353    
2354          * R/AllClass.R (.onLoad): Eliminate the bbCrosstab class, which is          * R/AllClass.R (.onLoad): Eliminate the bbCrosstab class, which is
2355          no longer used.          no longer used.
# Line 149  Line 2361 
2361          for multivariate random effects with multiple grouping factors.          for multivariate random effects with multiple grouping factors.
2362          Fixes part but not all of #15.          Fixes part but not all of #15.
2363    
2364  2004-12-03  Douglas Bates  <bates@bates1-home>  2004-12-03  Douglas Bates  <bates@wisc.edu>
2365    
2366          * src/lmeRep.c (lmeRep_factor): order of operations for multiple          * src/lmeRep.c (lmeRep_factor): order of operations for multiple
2367          scalar grouping factors corrected.          scalar grouping factors corrected.
2368    
2369  2004-11-29  Douglas Bates  <bates@bates1-home>  2004-11-29  Douglas Bates  <bates@wisc.edu>
2370    
2371          * src/bCrosstab.c: remove diag_update which is no longer used          * src/bCrosstab.c: remove diag_update which is no longer used
2372    
2373  2004-11-16  Douglas Bates  <bates@bates1-home>  2004-11-16  Douglas Bates  <bates@wisc.edu>
2374    
2375          * src/Metis_utils.c: Move metis.h include to C sources so that the          * src/Metis_utils.c: Move metis.h include to C sources so that the
2376          .h file can be included.          .h file can be included.
2377    
2378  2004-11-12  Douglas Bates  <bates@bates1-home>  2004-11-12  Douglas Bates  <bates@wisc.edu>
2379    
2380          * src/LU.c,geMatrix.c,trMatrix.c, etc.:          * src/LU.c,geMatrix.c,trMatrix.c, etc.:
2381          Complete allocation of slots in NEW_OBJECT.          Complete allocation of slots in NEW_OBJECT.
2382    
2383          * src/Mutils.h: Moved list of symbols to an include file          * src/Mutils.h: Moved list of symbols to an include file
2384    
2385  2004-11-11  Douglas Bates  <bates@bates1-home>  2004-11-11  Douglas Bates  <bates@wisc.edu>
2386    
2387          * src/geMutils.c (Matrix_init): remove unused function          * src/geMutils.c (Matrix_init): remove unused function
2388    
2389  2004-11-10  Douglas Bates  <bates@bates1-home>  2004-11-10  Douglas Bates  <bates@wisc.edu>
2390    
2391          * src/cscMatrix.c (csc_to_imagemat): removed unused function          * src/cscMatrix.c (csc_to_imagemat): removed unused function
2392    
2393  2004-11-05  Douglas Bates  <bates@bates1-home>  2004-11-05  Douglas Bates  <bates@wisc.edu>
2394    
2395          * src/Makefile.win (SOURCES_C): Keep consistent with Makefile          * src/Makefile.win (SOURCES_C): Keep consistent with Makefile
2396    
2397  2004-10-27  Douglas Bates  <bates@bates1-home>  2004-10-27  Douglas Bates  <bates@wisc.edu>
2398    
2399          * R/pdmatrix.R: remove PACKAGE="Matrix" in .Call calls          * R/pdmatrix.R: remove PACKAGE="Matrix" in .Call calls
2400    
2401  2004-10-04  Douglas Bates  <bates@bates1-home>  2004-10-04  Douglas Bates  <bates@wisc.edu>
2402    
2403          * src/init.c: Created R_init_Matrix and added registration of C          * src/init.c: Created R_init_Matrix and added registration of C
2404          routines.          routines.
2405    
2406  2004-10-02  Douglas Bates  <bates@bates1-home>  2004-10-02  Douglas Bates  <bates@wisc.edu>
2407    
2408          * R/tripletMatrix.R: Force a require(lattice) for the image methods.          * R/tripletMatrix.R: Force a require(lattice) for the image methods.
2409    
2410  2004-06-15  Douglas Bates  <bates@bates7>  2004-06-15  Douglas Bates  <bates@wisc.edu>
2411    
2412          * man/trMatrix-class.Rd: Escape the % chars in .Rd files.          * man/trMatrix-class.Rd: Escape the % chars in .Rd files.
2413    

Legend:
Removed from v.687  
changed lines
  Added in v.2110

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