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

Legend:
Removed from v.392  
changed lines
  Added in v.2139

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