SCM

SCM Repository

[matrix] Annotation of /pkg/ChangeLog
ViewVC logotype

Annotation of /pkg/ChangeLog

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2257 - (view) (download)

1 : mmaechler 2257 2008-09-08 Martin Maechler <maechler@stat.math.ethz.ch>
2 :    
3 :     * DESCRIPTION (Version): 0.999375-14 to be released to CRAN,
4 :     in order to comply to to pending changes in R-devel (2.8.0).
5 :    
6 : mmaechler 2256 2008-09-05 Martin Maechler <maechler@stat.math.ethz.ch>
7 :    
8 :     * R/Matrix.R (solve,..): use (Matrix,ANY)... instead of (Matrix,Matrix)
9 :     * R/Ops.R: ditto; most of these from John Chambers.
10 :     * man/Matrix-class.Rd
11 :    
12 :     * R/Auxiliaries.R (.diagU2N): fix for Rsparse*
13 :     * tests/Simple.R: test it
14 :    
15 :     2008-09-02 Martin Maechler <maechler@stat.math.ethz.ch>
16 :    
17 :     * man/drop0.Rd:
18 :     * R/Auxiliaries.R (drop0): new argument 'tol = 0' (and
19 :     'is.Csparse'); entails updates in
20 :     * R/Csparse.R, R/lMatrix.R, R/dMatrix.R
21 :    
22 : mmaechler 2255 2008-08-30 Martin Maechler <maechler@stat.math.ethz.ch>
23 :    
24 :     * DESCRIPTION (Version): 0.999375-13 released to CRAN
25 :    
26 :     2008-08-29 Martin Maechler <maechler@stat.math.ethz.ch>
27 :    
28 :     * R/Auxiliaries.R (attrSlotNames, attrSlots, attr.all_Mat): new
29 :     utilities, for now to be used in all.equal() methods.
30 :    
31 :     * R/Matrix.R (all.equal_Mat): be more careful (less tolerant) in
32 :     all.equal() methods.
33 :     * R/sparseMatrix.R: ditto
34 :    
35 : mmaechler 2250 2008-08-28 Martin Maechler <maechler@stat.math.ethz.ch>
36 :    
37 : mmaechler 2255 * DESCRIPTION (Version): 0.999375-12 released to CRAN
38 :    
39 : mmaechler 2250 * R/Ops.R (Compare(<Csparse>,<Csparse>): fix for nsparseMatrix
40 :    
41 :     2008-08-27 Douglas Bates <bates@stat.wisc.edu>
42 :    
43 :     * R/sparseMatrix.R: fac2sparse() for NA's
44 :    
45 :     2008-08-26 Martin Maechler <maechler@stat.math.ethz.ch>
46 :    
47 :     * R/sparseVector.R (all.equal.sparseV): make work for nsparseVector's
48 :    
49 : mmaechler 2245 2008-08-25 Martin Maechler <maechler@stat.math.ethz.ch>
50 :    
51 : mmaechler 2247 * src/dgCMatrix.c (dgCMatrix_LU): partially revert change
52 :     r2175 (2008-04-23) and do give an error for a singular matrix.
53 : mmaechler 2248 * man/lu.Rd, R/Auxiliaries.R (detSparseLU): adapt to that.
54 : mmaechler 2247
55 : mmaechler 2245 * R/LU.R: expand( <sparseLU> )
56 :    
57 :     * NAMESPACE, man/all.equal-methods.Rd:
58 :     * R/Matrix.R (all.equal): methods for Matrices,
59 :     * R/sparseMatrix.R, R/sparseVector.R: sparseMatrices and -Vectors
60 :    
61 :    
62 : dmbates 2244 2008-08-23 Douglas Bates <bates@stat.wisc.edu>
63 :    
64 :     * [r2243] R/CHMfactor.R, man/CHMfactor-class.Rd: Added expand method and
65 :     documentation for CHMfactor class
66 :     * [r2241] R/CHMfactor.R: Added trivial coercion method for CHMfactor ->
67 :     pMatrix
68 :    
69 : mmaechler 2242 2008-08-19 Martin Maechler <maechler@stat.math.ethz.ch>
70 :    
71 :     * R/nsCMatrix.R (setAs(., dgTMatrix))): remove unused method
72 :    
73 :     2008-08-18 Martin Maechler <maechler@stat.math.ethz.ch>
74 :    
75 :     * R/Ops.R (.Ops2dge.via.x, and many others): eliminate never-used
76 :     variable assignments {from "next version" codetools}.
77 :     * R/Csparse.R, R/Tsparse.R: ditto
78 :    
79 :     2008-08-17 Martin Maechler <maechler@stat.math.ethz.ch>
80 :    
81 :     * R/sparseVector.R (sp2vec, coerce to sparseVector):
82 :     make sure no integer overflows happen, and use double precision
83 :     (n, index) where appropriate.
84 :    
85 :     * tests/Simple.R: test "large" sparse vectors.
86 :    
87 :     2008-08-14 Martin Maechler <maechler@stat.math.ethz.ch>
88 :    
89 :     * R/AllClass.R (sparseVector): 'length' and 'i' are "numeric", not
90 :     just integer (allowing much longer length).
91 :    
92 : mmaechler 2239 2008-07-28 Martin Maechler <maechler@stat.math.ethz.ch>
93 :    
94 :     * R/AllClass.R (diagonalMatrix): extend "sparseMatrix" instead of
95 :     "denseMatrix". This renders "scarceMatrix" dispensable and
96 :     invalidates part of MM's presentations on "space of Matrix
97 :     classes", but seems cleaner overall.
98 :    
99 :     * R/diagMatrix.R, etc: eliminate "scarceMatrix", replacing it by
100 :     "sparseMatrix" in method signatures;
101 :     further, instead of coercing to "sparseMatrix", coerce to
102 :     "TsparseMatrix" now.
103 :    
104 :     2008-07-26 Martin Maechler <maechler@stat.math.ethz.ch>
105 :    
106 :     * src/dgCMatrix.c (dgCMatrix_qrsol): allow third argument 'order' in
107 :     .Call(.)
108 :     * R/sparseMatrix.R (lm.fit.sparse), src/dgCMatrix.h, src/init.c: ditto
109 :    
110 : mmaechler 2237 2008-07-24 Martin Maechler <maechler@stat.math.ethz.ch>
111 :    
112 :     * R/dgeMatrix.R: need solve(<dge>, <sparse>) against infinite
113 :     recursion in new test in
114 :     * tests/matprod.R: testing the above and another solve() case, below
115 :    
116 :     * R/sparseMatrix.R (lm.fit.sparse): slightly more efficient for
117 :     e.g. triangular 'x'.
118 :    
119 :     * src/dgCMatrix.c (dgCMatrix_qrsol): use AS_CSP() hence allowing dtC*
120 :     * src/dgCMatrix.c (dgCMatrix_cholsol): use AS_CHM_SP() to work
121 :     correctly with unit-triangular x
122 :    
123 :     * src/dsCMatrix.c (dsCMatrix_Csparse_solve): use AS_CHM_SP()
124 :     instead of not checking diagU.
125 :    
126 :     * R/diagMatrix.R, R/Auxiliaries.R: tweaks to allow later
127 :     experiments where diagonalMatrix would extend sparse*.
128 :    
129 :    
130 : mmaechler 2235 2008-07-23 Martin Maechler <maechler@stat.math.ethz.ch>
131 :    
132 : mmaechler 2236 * src/dgCMatrix.c (compressed_non_0_ij): for nnzero(), use
133 :     "x@p[ncol(x)]" instead of length(x@i).
134 :     * R/Auxiliaries.R (nnzero): ditto
135 :    
136 :     * src/chm_common.c (as_cholmod_sparse): Do not use LENGTH(islot)
137 :     since that fails for over-allocated i.
138 :    
139 :     * tests/validObj.R: more testing of over-allocated (i,x) slots
140 :    
141 :     2008-07-23 Martin Maechler <maechler@stat.math.ethz.ch>
142 :    
143 :     * src/chm_common.c (as_cholmod_sparse): Add 4th argument
144 : mmaechler 2235 'sort_in_place' and set it to TRUE in call from
145 :     * src/Csparse.c (Csparse_validate): sort in place, making sure that
146 :     validObject() continues sort the columns if needed.
147 :    
148 : mmaechler 2236 * tests/validObj.R: now tests that more thoroughly, and
149 :     * man/CsparseMatrix-class.Rd: documents it.
150 : mmaechler 2245
151 : dmbates 2244 2008-07-22 Douglas Bates <bates@stat.wisc.edu>
152 : mmaechler 2236
153 : dmbates 2244 * [r2233] src/chm_common.c: sort columns more carefully in
154 :     as_cholmod_sparse
155 :     * [r2231] src/chm_common.c: check for sorted columns in
156 :     as_cholmod_sparse instead of assuming it
157 :     * [r2228] src/cs_utils.c: Use R_alloc for semi-permanent storage when
158 :     expanding diagonal
159 :    
160 :    
161 : mmaechler 2226 2008-07-21 Martin Maechler <maechler@stat.math.ethz.ch>
162 :    
163 : mmaechler 2227 * src/cs_utils.c (Matrix_as_cs): add check_Udiag switch
164 :     * src/cs_utils.h (AS_CSP & AS_CSP__): two versions
165 :     * src/dtCMatrix.c (dtCMatrix_sparse_solve): no longer needs
166 :     diagU2N().
167 : mmaechler 2235
168 : mmaechler 2226 * R/diagMatrix.R (.sparseDiagonal): new utility, used in "old"
169 :     .spDiagonal() and new .trDiagonal().
170 :    
171 :     * R/dtCMatrix.R (solve): make use of .trDiagonal()
172 :    
173 : mmaechler 2223 2008-07-19 Martin Maechler <maechler@stat.math.ethz.ch>
174 :    
175 : mmaechler 2225 * R/Auxiliaries.R (dimNamesCheck): fix very long standing buglet,
176 :     stumbled upon by Michael H.
177 :    
178 :     * tests/validObj.R: testing the bug-fix
179 :    
180 : mmaechler 2223 * src/chm_common.h (AS_CHM_SP__, AS_CHM_TR__): the non-diagU2N
181 :     versions.
182 :    
183 :     * src/chm_common.c (as_cholmod_sparse, as_cholmod_triplet): new
184 :     boolean argument 'check_Udiag' (formerly implicitly was FALSE).
185 :    
186 :     * src/Csparse.c (Csparse_Csparse_prod, ...): etc: use the new
187 :     AS_CHM_SP() which includes diagU2N.
188 :    
189 : mmaechler 2225 * inst/include/Matrix_stubs.c (M_as_cholmod_sparse): similarly
190 :     adapt to 3 arguments.
191 : mmaechler 2223
192 : dmbates 2218 2008-07-17 Douglas Bates <bates@stat.wisc.edu>
193 :    
194 : dmbates 2244 * [r2220] src/dtCMatrix.c: Correct number of columns for rhs in
195 :     dtCMatrix_sparse_solve
196 :     * [r2219] src/cs_utils.c: eye->nz should be -1 for compressed column
197 :     storage
198 : dmbates 2218 * [r2217] R/dtCMatrix.R, src/dtCMatrix.c, src/dtCMatrix.h, src/init.c:
199 :     Replace dtCMatrix_solve by more general dtCMatrix_sparse_solve and add
200 :     new solve method
201 :     * [r2216] src/cs_utils.c: Utility csp_eye in case we want to fold
202 :     Csparse_diagU2N functionality into Matrix_as_cs
203 :    
204 :     2008-07-17 Martin Maechler <maechler@stat.math.ethz.ch>
205 :    
206 : mmaechler 2236 * inst/doc/factor2sparse.Rnw: revive a year-old unfinished vignette
207 : dmbates 2218
208 :     2008-07-16 Douglas Bates <bates@stat.wisc.edu>
209 :    
210 :     * [r2212] R/sparseMatrix.R: fac2sparse gets a drop.unused.levels
211 :     argument with default TRUE
212 :     * [r2211] inst/include/Matrix.h, inst/include/Matrix_stubs.c: Export
213 :     Csparse_diagU2N
214 :     * [r2210] R/dtCMatrix.R, man/dtCMatrix-class.Rd, src/dtCMatrix.c,
215 :     src/dtCMatrix.h, src/init.c: Remove vestigial methods based on the
216 :     parent array; new solve method for signature(a = "dtCMatrix", b =
217 :     "sparseMatrix")
218 :    
219 : mmaechler 2209 2008-07-14 Martin Maechler <maechler@stat.math.ethz.ch>
220 :    
221 : mmaechler 2236 * R/diagMatrix.R (.bdiag): also keep result triangular
222 : mmaechler 2209
223 : dmbates 2218 2008-07-13 Douglas Bates <bates@stat.wisc.edu>
224 :    
225 :     * [r2208] src/dtCMatrix.c, src/dtTMatrix.c: Revise wording in error
226 :     messages
227 : mmaechler 2223
228 : mmaechler 2209 2008-07-12 Martin Maechler <maechler@stat.math.ethz.ch>
229 :    
230 :     * R/diagMatrix.R (.bdiag): make more sophisticated, keeping
231 :     symmetric- or nsparse-Matrix, also fixing the bug introduced with
232 :     the new version (.999375-10).
233 :    
234 :     * tests/Simple.R: regression test for the bugs.
235 :    
236 : mmaechler 2207 2008-07-07 Martin Maechler <maechler@stat.math.ethz.ch>
237 :    
238 :     * R/sparseVector.R (spV2M): fix for "isparseVector".
239 :     Further, fix <diag> -> <sparseVector> coercion
240 :     (repSpV): add rep(<sparseVector>, .) method
241 :    
242 :     * R/sparseMatrix.R ([<-): when the RHS is a "scarce"Matrix, do *not*
243 :     use as.vector(.).
244 :    
245 : mmaechler 2209 * R/Tsparse.R ([<-): & [CR]sparse.R: methods for value = "sparseVector"
246 : mmaechler 2207
247 :     * R/AllClass.R: new (hidden) class union "scarceMatrix"
248 :     * R/AllClass.R: sparseVector: add prototype
249 :    
250 : mmaechler 2209 * src/dsCMatrix.c (chk_nm): fix "Cholesky" check, thanks to
251 :     Kasper Kristensen
252 : mmaechler 2207
253 :     2008-06-28 Martin Maechler <maechler@stat.math.ethz.ch>
254 :    
255 :     * tests/other-pkgs.R: add more interesting Matrix -> graph
256 :    
257 :     2008-06-27 Martin Maechler <maechler@stat.math.ethz.ch>
258 :    
259 :     * R/sparseMatrix.R (Tsp2grNEL): add 'need.uniq' argument for speed
260 :     improvement in "[CR]sparseMatrix" -> "graphNEL" coercion.
261 :    
262 : mmaechler 2206 2008-06-25 Martin Maechler <maechler@stat.math.ethz.ch>
263 :    
264 : mmaechler 2209 * DESCRIPTION: release 0.999375-10 to CRAN
265 :    
266 : mmaechler 2206 * R/diagMatrix.R (.bdiag): use more efficient Bates-algorithm for
267 :     .bdiag().
268 :     * man/bdiag.Rd: update, including test.
269 :    
270 :     2008-06-24 Martin Maechler <maechler@stat.math.ethz.ch>
271 :    
272 :     * tests/Simple.R: add minimal bdiag() checks
273 :    
274 :     * R/diagMatrix.R (bdiag): fix bdiag(diag(4:5)) case;
275 :     factor out the Tsparse - internal computation into new .bdiag()
276 :    
277 : mmaechler 2203 2008-06-14 Martin Maechler <maechler@stat.math.ethz.ch>
278 :    
279 :     * R/nsparseMatrix.R: specific fast all() and any() methods.
280 :    
281 :     * src/dgTMatrix.c (MAKE_gTMatrix_to_geMatrix): better error message
282 :     when trying to produce too large result.
283 :    
284 :     * inst/test-tools.R (checkMatrix): add 'do.matrix' with a check for
285 :     very large matrices.
286 :    
287 :     * R/sparseMatrix.R (printSpMatrix2): new function, used by
288 :     show(<sparseMatrix>).
289 :    
290 :     * R/diagMatrix.R (show): print only diagonal entries when nrow(.) >= 50.
291 :    
292 :     2008-06-13 Martin Maechler <maechler@stat.math.ethz.ch>
293 :    
294 :     * src/Mutils.c (m_encodeInd, m_encodeInd2):
295 :     * R/*.R: .Call(m_encodeInd2?, ..) instead of encodeInd2?(..).
296 :    
297 :     * R/Auxiliaries.R (encodeInd2?): care against integer overflow (for
298 :     big matrices): -> 2nd argument 'di' instead of 'nr' !
299 :    
300 : mmaechler 2202 2008-06-09 Martin Maechler <maechler@stat.math.ethz.ch>
301 :    
302 :     * R/dtCMatrix.R: faster dgC* -> dtC* method
303 :     * tests/Simple.R: (hence removed "FIXME")
304 :    
305 :     * R/Auxiliaries.R (copyClass): add 'check = .copyClass.check'
306 :     which can be be turned off for possible speed gains.
307 :    
308 : mmaechler 2199 2008-06-02 Martin Maechler <maechler@stat.math.ethz.ch>
309 :    
310 :     * R/dMatrix.R, R/Tsparse.R: get rid of some disambiguation warnings
311 :    
312 :     * R/not.R: fix !<ldiMatrix>
313 :     implement two old "FIXME"s: !<ldenseMatrix> & !<ndenseMatrix>
314 :    
315 :     * R/diagMatrix.R (Ops): fix one-off thinko in
316 :     <diagonal> o <numeric> methods
317 :    
318 :     * inst/test-tools.R: checkMatrix(): drop0(m12) unconditionally
319 :    
320 : mmaechler 2196 2008-05-30 Martin Maechler <maechler@stat.math.ethz.ch>
321 :    
322 :     * R/diagMatrix.R (Ops): more <diagonal> o <Matrix> methods
323 :     * tests/Simple.R: testing the above
324 :    
325 : mmaechler 2194 2008-05-07 Martin Maechler <maechler@stat.math.ethz.ch>
326 :    
327 :     * NAMESPACE: also import "Ops" {found via new tools:::get_S4_generics_with_methods()}
328 :    
329 : mmaechler 2193 2008-05-03 Martin Maechler <maechler@stat.math.ethz.ch>
330 :    
331 :     * R/Matrix.R (dimnames<-): dimnames(.) <- NULL works with a message;
332 :     * NAMESPACE (unname): finally exported
333 :    
334 : mmaechler 2186 2008-04-28 Martin Maechler <maechler@stat.math.ethz.ch>
335 :    
336 : mmaechler 2190 * R/Auxiliaries.R (cholMat): possibly keep packed
337 :    
338 : mmaechler 2188 * inst/test-tools.R (checkMatrix): add fixed determinant.matrix()
339 :     for R < 2.7.0.
340 :    
341 : mmaechler 2186 * R/Tsparse.R ([): for triangularMatrix, check if result may be
342 :     triangular.
343 :     * tests/indexing.R: regression test
344 :    
345 : mmaechler 2185 2008-04-26 Martin Maechler <maechler@stat.math.ethz.ch>
346 :    
347 :     * inst/test-tools.R (checkMatrix): test <Ops> not only for dMatrix
348 :     * R/Ops.R: more methods, for lMatrix/nMatrix
349 :    
350 : mmaechler 2183 2008-04-24 Martin Maechler <maechler@stat.math.ethz.ch>
351 :    
352 :     * R/expm.R: new file for all expm() methods; notably new ones for
353 :     diagonal*, triangular*, symmetric* and also simple "matrix".
354 :    
355 : mmaechler 2175 2008-04-23 Martin Maechler <maechler@stat.math.ethz.ch>
356 :    
357 : mmaechler 2183 * R/dsyMatrix.R: setAs(.) rather than setIs(.) "to dpoMatrix"
358 :    
359 :     * inst/test-tools.R (assert.EQ.mat): better message when not equal
360 :    
361 :     * src/dgeMatrix.c (dgeMatrix_matrix_crossprod): allow integer RHS.
362 :    
363 :     * R/AllClass.R (ddiMatrix,ldiMatrix): extend [dl]Matrix instead of
364 :     [dl]denseMatrix {identical slots; but more logical method dispatch}
365 :    
366 :     2008-04-23 Martin Maechler <maechler@stat.math.ethz.ch>
367 :    
368 : mmaechler 2175 * R/sparseMatrix.R (summary): use length(<i-slot>) instead of nnzero()
369 :    
370 :     * R/diagMatrix.R (determinant): method
371 :    
372 :     2008-04-22 Martin Maechler <maechler@stat.math.ethz.ch>
373 :    
374 :     * src/dsCMatrix.c (dsCMatrix_Cholesky): suppress CHOLMOD printing too
375 :    
376 :     * R/Rsparse.R (.viaC.to.R): uplo fix for symmetric & triangular
377 :    
378 :     * R/dsCMatrix.R (determinant): switch to use Cholesky( 'LDL' ) and
379 :     its diagonal
380 :    
381 :     2008-04-21 Martin Maechler <maechler@stat.math.ethz.ch>
382 :    
383 :     * R/dMatrix.R (Summary): short-cut for prod(<sparse>)
384 :    
385 :     * R/not.R: fix !<"U"-diag-ltrMatrix> ; drop {R < 2.6.0}-branch
386 :    
387 :     * R/Auxiliaries.R (tT2gT): fix for "U"-diag-ltTMatrix
388 :    
389 :     * R/AllClass.R: ltTMatrix validity: call (more stringent) tTMatrix_validate
390 :    
391 :     2008-04-19 Martin Maechler <maechler@stat.math.ethz.ch>
392 :    
393 :     * R/Ops.R (Ops.x.x): aux.function, not just for (dMatrix,dMatrix)
394 :    
395 :     * R/Ops.R (.do.Logic.lsparse): fix NA case
396 :    
397 :     * R/Tsparse.R (replTmat): fix r.sym case, using indTri()
398 :    
399 :     * R/Auxiliaries.R (nnzero): fix special cases, using
400 :     * R/Auxiliaries.R (indDiag): new utility
401 :     * R/Auxiliaries.R (indTri): new argument 'diag'
402 :    
403 :     * R/dMatrix.R: Summmary(<ddenseMatrix>): different branch for dsy*
404 :    
405 :     2008-04-18 Martin Maechler <maechler@stat.math.ethz.ch>
406 :    
407 :     * R/diagMatrix.R: "Summary" methods, and more "Arith" / "Ops"
408 :    
409 :     * src/Csparse.c (Csparse_drop): preserve (uplo,diag) for
410 :     ".tCMatrix" triangular matrix.
411 :    
412 :     * R/Auxiliaries.R (drop0): use diagU2N(); according to helpfile,
413 :     'clx' can be class *or* class representation.
414 :     (nnzSparse): new.
415 :     (non0ind): new 'xtendSymm' argument; used in
416 :     * R/Ops.R:
417 :    
418 :     * R/pMatrix.R: more efficient determinant() method
419 :    
420 :     2008-04-17 Martin Maechler <maechler@stat.math.ethz.ch>
421 :    
422 :     * [disactivated] R/Matrix.R (det): det() as base::det(), but with Matrix environment
423 :     * [disactivated] NAMESPACE: export(det)
424 :    
425 :     * R/diagMatrix.R (mkDiag): new substitute for diag()
426 :    
427 :     * R/Auxiliaries.R (nnzero): fix for "diagU2N"-case
428 :     (as0, as1): new utility.
429 :    
430 :     * R/Csparse.R (diag, band): need diagU2N()
431 :    
432 :     * src/dgeMatrix.c (get_norm): return NA when 'x' slot has NA/NaN.
433 :    
434 :     * R/lMatrix.R: coerce(nMatrix |-> lMatrix) fix
435 :    
436 :     * R/Ops.R (Compare): fix <nsp> o <nsp> case
437 :    
438 :     * R/nsparseMatrix.R, R/pMatrix.R: is.na() method
439 :    
440 :     2008-04-16 Martin Maechler <maechler@stat.math.ethz.ch>
441 :    
442 :     * R/Auxiliaries.R (signPerm): new utility for
443 :     * R/Auxiliaries.R (detSparseLU): determinant() via sparseLU
444 :    
445 :     * src/dsCMatrix.c (dsCMatrix_LDL_D): suppress 'CHOLMOD warning';
446 :     since we have our own error handler (and can use tryCatch() from R).
447 :    
448 :     2008-04-15 Martin Maechler <maechler@stat.math.ethz.ch>
449 :    
450 :     * R/dgTMatrix.R (image): ha! set col=NA if lwd is small -- very nice!
451 :    
452 :     * R/dsCMatrix.R (determinant): use tryCatch() and switch to lu()
453 :     when not positive definite.
454 :    
455 :     * R/Auxiliaries.R (asTri): new auxiliary
456 :     (non0.i): make *much* faster for Tsparse with many non-zero
457 :     entries; add 'uniqT = TRUE' argument to be used when sorting is undesired.
458 :    
459 :     * tests/Class+Meth.R (dotestMat): now build on checkMatrix() from
460 :     test-tools.R , see below
461 :    
462 :     * R/dMatrix.R: fix "Summary" method: + diagU2N()
463 :    
464 :     * NAMESPACE, R/Matrix.R: add mean() method
465 :    
466 :     2008-04-12 Martin Maechler <maechler@stat.math.ethz.ch>
467 :    
468 :     * R/dgTMatrix.R (image): allow to *not* take abs(), and use
469 :     cold-hot colors; try *changed* default useAbs = FALSE
470 :     * man/image-methods.Rd: nice examples
471 :    
472 :     2008-04-11 Martin Maechler <maechler@stat.math.ethz.ch>
473 :    
474 :     * inst/test-tools.R (checkMatrix): new function for modularizing part
475 :     of tstMatrixClass() in tests/Class+Meth.R
476 :    
477 :     * R/dsCMatrix.R: coercion from "matrix"
478 :     * R/ltTMatrix.R, R/ntTMatrix.R: ditto (change it).
479 :    
480 :     * tests/Class+Meth.R (tstMatrixClass): some cleanup;
481 :     add test for as(matrix(,0,0), <class>)
482 :    
483 :     2008-04-09 Martin Maechler <maechler@stat.math.ethz.ch>
484 :    
485 :     * src/dgeMatrix.c (dgeMatrix_determinant): for n == 0,
486 :     work as determinant(matrix(,0,0)).
487 :    
488 :     * src/dgCMatrix.c (dgCMatrix_LU): return {L,U} as dtCMatrix
489 :     * man/sparseLU-class.Rd: ditto
490 :    
491 :     * R/dgCMatrix.R (determinant): method building on lu()
492 :     * R/sparseMatrix.R, Matrix.R, ...: ditto
493 :    
494 :     * R/Auxiliaries.R (mkDet): auxiliary for determinant()
495 :    
496 :     2008-04-07 Martin Maechler <maechler@stat.math.ethz.ch>
497 :    
498 :     * R/sparseMatrix.R (summary<sparseMatrix>): no 'x' column for
499 :     pattern matrices.
500 :    
501 : maechler 2166 2008-04-02 Martin Maechler <maechler@stat.math.ethz.ch>
502 :    
503 :     * src/dense.c (dense_to_Csparse): all declarations *before*
504 :     R_CheckStack(); needed e.g. for ancient gcc 2.96.
505 :    
506 :    
507 : maechler 2159 2008-03-29 Martin Maechler <maechler@stat.math.ethz.ch>
508 :    
509 :     * DESCRIPTION (Version): 0.999375-9 --- need to release
510 :     for R-devel (and R 2.7.0 alpha soon).
511 :    
512 : maechler 2165 * R/AllClass.R: drop "double" from "atomicVector" class union
513 :    
514 : maechler 2161 * R/AllGeneric.R (rcond): check for base::rcond instead of R version
515 : maechler 2164 * R/dgeMatrix.R: ditto
516 : maechler 2161
517 : maechler 2159 * R/sparseMatrix.R (summary): count NAs
518 :    
519 : maechler 2165 * inst/doc/Intro2Matrix.Rnw: changes, aim for *one* introduction.
520 :    
521 : maechler 2158 2008-03-28 Martin Maechler <maechler@stat.math.ethz.ch>
522 :    
523 :     * R/AllGeneric.R: rcond(., norm) instead of rcond(., type), in
524 :     order to become compatible to new R 2.7.0 base::rcond().
525 :    
526 : maechler 2157 2008-03-25 Martin Maechler <maechler@stat.math.ethz.ch>
527 :    
528 : maechler 2158 * DESCRIPTION (Version,Date): 0.999375-8 --- released to CRAN
529 : maechler 2157
530 :     * R/diagMatrix.R (Ops): fix newly introduce bug in <.di> o <numeric>
531 :    
532 :     * inst/test-tools.R (isValid): new utility, used much in
533 :     * tests/simple.R:
534 :    
535 :     * man/BunchKaufman-methods.Rd: added too
536 :    
537 :     2008-03-24 Martin Maechler <maechler@stat.math.ethz.ch>
538 :    
539 :     * R/dsyMatrix.R: add BunchKaufman() methods.
540 :     * R/dspMatrix.R:
541 :    
542 :     * src/init.c: add dsyMatrix_trf
543 :    
544 :     2008-03-23 Douglas Bates <bates@stat.wisc.edu>
545 :    
546 :     * DESCRIPTION (Version): release 0.999375-7
547 :     * src/CHMfactor.c (CHMfactor_update): fix
548 :    
549 : maechler 2154 2008-03-22 Martin Maechler <maechler@stat.math.ethz.ch>
550 :    
551 :     * src/dsCMatrix.c (dsCMatrix_LDL_D): cleanup, also using
552 :     internal_chm_factor().
553 :    
554 :     * R/AllGeneric.R: do *not* define a "chol" generic
555 :     (but rather use the implicit one *without* making pivot
556 :     part of the signature)
557 :     * R/*.R: drop the 'pivot' from chol's signature and make
558 :     'pivot=FALSE' a default argument of method definitions.
559 :    
560 :     * .Rbuildignore: add 'wrld_1deg': I.e. do not put it into released
561 :     version of Matrix
562 :    
563 : maechler 2139 2008-03-18 Martin Maechler <maechler@stat.math.ethz.ch>
564 :    
565 : maechler 2144 * R/Tsparse.R (.T.2.n): drop 0's before coercion to "nMatrix"
566 :    
567 :     * R/sparseMatrix.R (is.na): new simple method
568 :     * R/denseMatrix.R (is.na): ditto.
569 :    
570 :     * R/diagMatrix.R (.symDiagonal): newly exported utility.
571 :    
572 :     * R/diagMatrix.R (Ops): <diag> * <numeric> should not become dgeMatrix!
573 :    
574 : maechler 2139 * src/UFsparse_download.sh: -->
575 :     * src/CHOLMOD/: update to CHOLMOD version 1.6 (Nov.2007)
576 :    
577 : maechler 2137 2008-03-17 Martin Maechler <maechler@stat.math.ethz.ch>
578 :    
579 :     * src/dsCMatrix.c (dsCMatrix_LDL_D): even faster utility with same
580 :     functionality; barely tested in
581 :     * tests/factorizing.R
582 :    
583 :     * src/Csparse.c (diag_tC): new functionality to enable faster
584 :     determinant(<dsCMatrix>, .) in
585 :     * R/dsCMatrix.R
586 :    
587 :     2008-03-17 18:53 Douglas Bates <bates@stat.wisc.edu>
588 :    
589 :     * R/CHMfactor.R, inst/include/Matrix.h, inst/include/Matrix_stubs.c,
590 :     src/CHMfactor.c, src/CHMfactor.h,
591 :     man/CHMfactor-class.Rd, src/init.c, tests/factorizing.R:
592 :     Log-determinant of the parent matrix from a CHMfactor object as
593 :     chm_factor_ldetL2; documentation and support
594 :    
595 :     2008-03-15 Martin Maechler <maechler@stat.math.ethz.ch>
596 :    
597 :     * R/dsCMatrix.R: enable determinant(<dsCMatrix>, .) via chol(.)
598 :    
599 : maechler 2130 2008-03-14 Martin Maechler <maechler@stat.math.ethz.ch>
600 :    
601 :     * R/dsCMatrix.R: setAs(., "dsCMatrix") but with a deprecation
602 :     warning.
603 :    
604 : maechler 2128 2008-03-13 Martin Maechler <maechler@stat.math.ethz.ch>
605 :    
606 :     * DESCRIPTION (Version, Date): bug-fix release 0.999375-6
607 :    
608 :     * R/diagMatrix.R (diag2tT.u): utility to be smarter in
609 :     <diagonal> o <sparse_triangular>
610 :     setAs(., "nMatrix") added.
611 :    
612 :     * R/diagMatrix.R (Diagonal): Diagonal(4, x=3) now works too
613 :    
614 :     * R/Auxiliaries.R (.diagU2N): more careful coercion in 2 steps
615 :     new argument 'checkDense = FALSE'.
616 :    
617 :    
618 : maechler 2125 2008-03-07 Martin Maechler <maechler@stat.math.ethz.ch>
619 :    
620 : maechler 2127 * src/dgeMatrix.c (dgeMatrix_exp): fix the octave-origin bug in the
621 :     back-permutation of the matrix exponential.
622 :    
623 :     * tests/matr-exp.R: test the fix (for an example where expm() was wrong).
624 :    
625 : maechler 2126 * DESCRIPTION (Date,Version): ready to release 0.999375-5
626 :    
627 : maechler 2125 * tests/simple.R: testing diagN2U
628 :    
629 :     2008-03-06 Martin Maechler <maechler@stat.math.ethz.ch>
630 :    
631 :     * R/Auxiliaries.R (diagN2U): interface to
632 :    
633 :     * src/Csparse.c (Csparse_diagN2U): .Call()able SEXP version of chm_diagN2U()
634 :    
635 :     * tests/matprod.R: test for triangularity preserving <dtC> %*% <dtC>
636 :    
637 : maechler 2123 2008-03-05 Martin Maechler <maechler@stat.math.ethz.ch>
638 :    
639 : maechler 2125 * src/chm_common.c (chm_diagN2U): new utility.
640 :    
641 :     * src/Csparse.c (Csparse_Csparse_crossprod, Csparse_Csparse_prod):
642 :     make use of chm_diagN2U() and hence now preserve triangularity and
643 :     unit-triangularity.
644 :    
645 : maechler 2123 * DESCRIPTION (LicenseDetails): new; such that 'License:' becomes "canonical"
646 :    
647 : maechler 2120 2008-03-04 Martin Maechler <maechler@stat.math.ethz.ch>
648 :    
649 :     * R/diagMatrix.R (subDiag): fix when x[..] became a vector
650 :    
651 :     * src/Tsparse.c (Tsparse_diagU2N): new utility, necessary for e.g.
652 :     * src/Csparse.c (Csparse_crossprod): use [CT]sparse_diagU2N() !!
653 :    
654 :     * R/Auxiliaries.R (.diagU2N): make use of new Tsparse_diagU2N
655 :    
656 :     * R/Ops.R ("-" (<sparseMatrix>)): use diagU2N()
657 :    
658 :     * src/chm_common.c (AS_CHM_FINISH): add note about problem
659 :     for triangular (diag = "U").
660 :    
661 : maechler 2115 2008-02-21 Martin Maechler <maechler@stat.math.ethz.ch>
662 :    
663 :     * R/Auxiliaries.R (as_Csparse2): drop this, replacing by
664 :     * R/bind.R: .Call(dense_to_Csparse, *)
665 :    
666 :     2008-02-20 Martin Maechler <maechler@stat.math.ethz.ch>
667 :    
668 :     * R/Matrix.R (Matrix): no longer use coercions to specific classes
669 :     (since we are discouraging them in user code).
670 :    
671 :     * tests/*.R: also replaces coercions to specific classes by
672 :     coercions to super classes.
673 :    
674 :     * R/denseMatrix.R (.dense2C): simplified by using forceSymmetric()
675 :    
676 :    
677 :     2008-02-19 Martin Maechler <maechler@stat.math.ethz.ch>
678 :    
679 :     * man/CAex.Rd: example: coerce to symmetric*, not dsC*
680 :    
681 :     * src/dense.c (dense_band): generalized from ddense_band
682 :    
683 :     * R/ddenseMatrix.R (.trilDense,.triuDense, .bandDense):
684 :     now for "denseMatrix" (instead of just "ddense*"); much
685 :     simplified setMethod()s for these.
686 :    
687 :     * src/dense.c (dense_to_symmetric): generalized from ddense_*
688 :    
689 :     2008-02-18 Martin Maechler <maechler@stat.math.ethz.ch>
690 :    
691 :     * R/AllGeneric.R: forceSymmetric() generic: fast no-checking
692 :     version of as(*, "symmetricMatric").
693 :    
694 :     * src/dense.c (ddense_to_symmetric): add 'symm_test' argument, and
695 :     * R/symmetricMatrix.R: set it TRUE in coercion to "symmetricMatrix"
696 :    
697 : maechler 2113 2008-02-16 Martin Maechler <maechler@stat.math.ethz.ch>
698 :    
699 :     * R/Matrix.R (subset.ij): utility, as first step to faster
700 :     M [ <ij-matrix> ] indexing.
701 :    
702 :     * R/Matrix.R (.M.sub.i.logical): M[ <logical> ] : try better.
703 :    
704 :     * src/dense.c (ddense_symmpart, ddense_skewpart): new functions
705 :     for more efficient symmpart() and skewpart() methods.
706 :    
707 :     * src/Mutils.c (equal_string_vectors): utility
708 :    
709 :     * src/dense.c (ddense_to_symmetric): new function used in
710 :    
711 :     * R/symmetricMatrix.R: setAs(., "symmetricMatrix")
712 :    
713 :     * R/sparseMatrix.R, et_al (isSymmetric): add '...' to formals, in
714 :     order to match the generic (and evade .local(..)).
715 :    
716 :     * R/dsCMatrix.R: dgC -> dsC: use C code!
717 :    
718 :     * NAMESPACE, R/AllGeneric.R (symmpart, skewpart): new functions
719 :     as per TODO
720 :    
721 :     * R/Auxiliaries.R (setZero, all0Matrix): new utilities
722 :    
723 :     * R/symmetricMatrix.R: obvious symmpart(), skewpart() methods
724 :    
725 :    
726 :     2008-02-15 Martin Maechler <maechler@stat.math.ethz.ch>
727 :    
728 :     * R/Ops.R (.Arith.Csparse): use diagU2N when needed in triangular
729 :    
730 :     * R/Auxiliaries.R (non0.i): take out of non0ind
731 :    
732 :     * R/ddenseMatrix.R (.trilDense, .triuDense, .bandDense):
733 :     make tril(), triu(), band() work for "matrix" and all "dense*"
734 :    
735 :     * R/triangularMatrix.R (.tri[lu].tr): need .diagU2N(*)
736 :     * tests/simple.R: test the fix above
737 :    
738 :     * R/sparseMatrix.R ([): simplification: no coerce to <general>
739 :     before we use as(., <Tsparse>)[...] anyway
740 :    
741 :     * R/Rsparse.R (.viaC.to.R): mostly instead of .viaC.to.dgR()
742 :    
743 :     * R/triangularMatrix.R (isTriangular): methods for all subclasses
744 :     instead of "triangularMatrix" -- just to disambiguate
745 :    
746 :     2008-02-14 Martin Maechler <maechler@stat.math.ethz.ch>
747 :    
748 :     * tests/Class+Meth.R (dotestMat): add m[FALSE, FALSE] { <-> TODO}
749 :     * tests/indexing.R: example that fails above
750 :    
751 : maechler 2110 2008-01-26 Martin Maechler <maechler@stat.math.ethz.ch>
752 :    
753 :     * R/Matrix.R (.M.sub.i.2col): fix for logical matrix indexing
754 :     * R/Tsparse.R (.TM.sub.i.2col, .TM.repl.i.2col): ditto;
755 :     now, M[lower.tri(M)] and M[lower.tri(M)] <- v work better
756 :    
757 :     * src/Tsparse.c (Tsparse_to_tCsparse): new fast utility.
758 :     * src/Tsparse.h, init.c: ditto
759 :     * R/Auxiliaries.R (isTriT): new; faster than going via Csparse
760 :     both isTriC() and isTriT() now return TRUE with "kind" or FALSE.
761 :     * R/sparseMatrix.R (isTriangular): hence simplified
762 :    
763 : maechler 2108 2008-01-24 Martin Maechler <maechler@stat.math.ethz.ch>
764 :    
765 :     * R/Ops.R (.Arith.Csparse): new utility factored out of former
766 :     <dgC> o <dgC>, extended for triangular and also used in <dtC> o <dtC>.
767 :    
768 : maechler 2106 2008-01-23 Martin Maechler <maechler@stat.math.ethz.ch>
769 :    
770 :     * tests/factorizing.R (checkSchur): and more tests for checking Schur()
771 :    
772 : maechler 2108 * inst/test-tools.R (isOrthogonal): new function; also file restructured
773 : maechler 2106
774 :     2008-01-22 Martin Maechler <maechler@stat.math.ethz.ch>
775 :    
776 :     * R/ngTMatrix.R: allow as(<numeric matrix>, "ngTMatrix") and hence
777 :     coercion to "nMatrix" and "pMatrix"
778 :    
779 :     * R/AllClass.R: "Schur" class; "number" class union
780 :     * man/number-class.Rd:
781 :     * man/Schur-class.Rd:
782 :    
783 :     * R/eigen.R (.dgeSchur): utility, and return "Schur" class
784 :     (.simpleSchur): Schur() method for diagonal matrices
785 :     (.triSchur): Schur() method for triangular matrices
786 :     (Schur.sym): Schur() for symmetric matrices {building on eigen()}.
787 :    
788 :    
789 :     2008-01-21 Martin Maechler <maechler@stat.math.ethz.ch>
790 :    
791 :     * src/dgCMatrix.c (dgCMatrix_QR): set @Dim slot (as per doc)
792 :    
793 : maechler 2105 2008-01-15 Martin Maechler <maechler@stat.math.ethz.ch>
794 :    
795 :     * R/CHMfactor.R (solve): method for b="numeric", but also b="ANY"
796 :     in order to ensure 'system = *' is not lost;
797 :     formals()$system instead of cut&paste.
798 :     * tests/factorizing.R: test solve(<CHM..>, <numeric>)
799 :    
800 : maechler 2102 2008-01-11 Martin Maechler <maechler@stat.math.ethz.ch>
801 : maechler 2096
802 : maechler 2105 * DESCRIPTION (Date): make ready for release --> 0.999375-4
803 : maechler 2096
804 : maechler 2102 * R/dgeMatrix.R: fix rcond() method for "dgeMatrix".
805 : maechler 2096
806 : maechler 2098 2007-12-08 Martin Maechler <maechler@stat.math.ethz.ch>
807 : maechler 2096
808 : maechler 2098 * R/pMatrix.R: as(*, "matrix") now returns 0/1 *integer* matrix,
809 :     and hence does as.vector(.).
810 :     * man/pMatrix-class.Rd: docs
811 :     * R/sparseMatrix.R: fix for printing "integer sparse"
812 :    
813 :     * tests/Class+Meth.R (tstMatrixClass): test M[FALSE], M[2] etc
814 :    
815 :     * R/Matrix.R and others: use "exact" function argument list for
816 :     both "[" : (x, i,j, ..., drop)
817 :     and "[<-" : (x, i,j, ..., value)
818 :    
819 :     * R/denseMatrix.R: M[i] and M[i] <- v (i vector) now work
820 :     * R/Tsparse.R (replTmat): ditto
821 :     * R/diagMatrix.R (replDiag): ditto
822 :     * R/Csparse.R (replCmat): ditto {was it worth the pain?}
823 :     * tests/indexing.R: testing the above
824 :    
825 : maechler 2096 2007-12-07 Martin Maechler <maechler@stat.math.ethz.ch>
826 :    
827 :     * R/sparseMatrix.R (cov2cor): method for sparse matrices
828 :    
829 :     * R/diagMatrix.R ([<-): fix D[ cbind(i,j) ] <- v
830 :    
831 :     * R/bind2.R: fix for Rsparse* and rbind2(dense,dense)
832 :    
833 :     * tests/Class+Meth.R: test cbind2, rbind2 and diag<-
834 :    
835 :     2007-12-06 Martin Maechler <maechler@stat.math.ethz.ch>
836 :    
837 :     * R/Matrix.R: "generic" cov2cor() method
838 :    
839 :     * R/nearPD.R: new 'only.values', 'keepDiag' arguments;
840 :     speed up Q %*% D %*% t(Q)
841 :     * tests/dpoMatrix.R: test nearPD()
842 :    
843 :     2007-12-05 Doug Bates and Martin Maechler
844 :    
845 :     * R/sparseMatrix.R: xtabs(*, sparse=.) function; an extention of
846 :     stats::xtabs() allowing to create sparse matrices.
847 :    
848 :     2007-10-08 Martin Maechler <maechler@stat.math.ethz.ch>
849 :    
850 :     * DESCRIPTION (Version): *-4 (released *-3 two days ago)
851 :    
852 : maechler 2081 2007-10-06 Martin Maechler <maechler@stat.math.ethz.ch>
853 :    
854 :     * R/pMatrix.R: solve(<Matrix>, <pMatrix>)
855 :    
856 :     2007-10-05 Martin Maechler <maechler@stat.math.ethz.ch>
857 :    
858 :     * R/LU.R: solve() method for "denseLU"
859 :    
860 :     2007-10-01 Martin Maechler <maechler@stat.math.ethz.ch>
861 :    
862 :     * DESCRIPTION (Version): 0.999375-3 preparing for release
863 :    
864 :     * R/AllGeneric.R: simplify if(.) .. else .. for R <= 2.5.1
865 :    
866 :     * R/Matrix.R (Matrix): .Internal(matrix(..)) different for R >= 2.7.0
867 :    
868 : maechler 2073 2007-09-26 Martin Maechler <maechler@stat.math.ethz.ch>
869 :    
870 :     * R/pMatrix.R (.m.mult.pMat): fix <matrix> %*% <pMatrix>,
871 :     thanks to Kasper Kristensen.
872 :     * tests/matprod.R: regression test for that.
873 :    
874 : bates 2069 2007-09-23 17:32 Douglas Bates <bates@stat.wisc.edu>
875 :    
876 :     * [r4778] R/AllGeneric.R: Check R version before defining generics for
877 :     primitives
878 :    
879 : maechler 2073 2007-09-13 Martin Maechler <maechler@stat.math.ethz.ch>
880 :    
881 :     * R/denseMatrix.R (rcond): method
882 :     * R/sparseQR.R (rcond): method, use x or t(x)
883 :    
884 :     2007-09-12 Martin Maechler <maechler@stat.math.ethz.ch>
885 :    
886 :     * R/dgeMatrix.R (rcond): method: work via qr.R() for non-square
887 :     matrices.
888 :     * R/sparseMatrix.R: Ditto for all other rcond() method definitions.
889 :    
890 :     * man/rcond.Rd: mention the more general definition, and add
891 :     example for non-square matrices.
892 :    
893 :     * man/chol.Rd: new file, for the S4 chol() generic and all methods.
894 :    
895 :     2007-09-11 Martin Maechler <maechler@stat.math.ethz.ch>
896 :    
897 :     * R/sparseQR.R: add qr.R() method [to be used for rcond()]
898 :    
899 : maechler 2062 2007-09-01 Martin Maechler <maechler@stat.math.ethz.ch>
900 :    
901 :     * R/Matrix.R ([<-): add (Matrix,missing,ANY,Matrix) etc
902 :     * tests/indexing.R: add new regression for the above cases.
903 :    
904 : maechler 2061 2007-08-30 Martin Maechler <maechler@stat.math.ethz.ch>
905 :    
906 :     * src/Mutils.h (__sun): clause for alloca.h on Solaris
907 :    
908 : maechler 2056 2007-08-16 Martin Maechler <maechler@stat.math.ethz.ch>
909 :    
910 :     * DESCRIPTION (Date, Version): 0.999375-2
911 :    
912 :     2007-08-15 Martin Maechler <maechler@stat.math.ethz.ch>
913 :    
914 :     * R/HBMM.R (readMM): make work for pattern matrices as well
915 :    
916 : bates 2050 2007-08-14 13:07 Douglas Bates <bates@stat.wisc.edu>
917 :    
918 :     * [r4730] src/Mutils.h: declare alloca
919 :     * [r4734] NAMESPACE, R/AllGeneric.R, R/Csparse.R, R/HBMM.R, R/Tsparse.R,
920 :     R/dgCMatrix.R, R/dgTMatrix.R, R/dsCMatrix.R, R/dsTMatrix.R,
921 :     man/externalFormats.Rd, src/Csparse.c, src/Csparse.h, src/DEPS.mkf,
922 :     src/HBMM.c, src/HBMM.h, src/Mutils.h, src/SOURCES_C.mkf, src/init.c,
923 :     src/mmio.c, src/mmio.h: Remove deprecated function writeHB and its
924 :     methods; switch writeMM to use CHOLMOD code; repair readMM
925 :    
926 : maechler 2048 2007-08-14 Martin Maechler <maechler@stat.math.ethz.ch>
927 :    
928 :     * R/nearPD.R, man/nearPD.Rd (nearPD): new function built on Jens
929 :     Oehlschlaegel's ... result type still to be discussed!
930 :    
931 : maechler 2043 2007-08-10 Martin Maechler <maechler@stat.math.ethz.ch>
932 :    
933 :     * man/image-methods.Rd: new, combining all image() methods
934 :    
935 :     2007-08-09 Martin Maechler <maechler@stat.math.ethz.ch>
936 :    
937 :     * R/dgCMatrix.R: define qr() and lu() methods for "sparseMatrix"
938 :     to work via dgC...
939 :    
940 :     * R/Matrix.R (Matrix): special treatment for "table" (S3)
941 :    
942 :     2007-08-07 Martin Maechler <maechler@stat.math.ethz.ch>
943 :    
944 :     * R/dgTMatrix.R (image): change defaults to
945 :     aspect = "iso", colorkey = FALSE
946 :    
947 : maechler 2039 2007-08-06 Martin Maechler <maechler@stat.math.ethz.ch>
948 :    
949 :     * src/dsyMatrix.c (dsyMatrix_matrix_mm): 'b' might be matrix;
950 :     must copy its *expanded* x slot before LAPACK call.
951 :    
952 :     * tests/matprod.R: test the last days' changes.
953 :    
954 : bates 2041 2007-08-06 16:43 Douglas Bates <bates@stat.wisc.edu>
955 :    
956 :     * [r4712] inst/include/Matrix_stubs.c: Change R_cholmod_printf in stubs
957 :     as well as in sources
958 : bates 2050 * [r4713] src/dsyMatrix.c: Duplicate the contents of the RHS before
959 :     Lapack call
960 : maechler 2043
961 : maechler 2036 2007-08-03 Martin Maechler <maechler@stat.math.ethz.ch>
962 :    
963 :     * R/Matrix.R (%*%, crossprod, tcrossprod): add method for
964 : maechler 2039 ("Matrix", "matrix") which is needed in some cases.
965 :     Ditto for solve().
966 : maechler 2036
967 :     * R/colSums.R (.as.dge.Fun): need ddenseMatrix methods to avoid
968 :     infinite recursion in dispatch for some cases.
969 :    
970 : bates 2041 2007-08-02 08:48 Martin Maechler <maechler@stat.math.ethz.ch>
971 : maechler 2036
972 : bates 2041 * [r4693] src/chm_common.c: R_cholmod_printf() instead of Rprintf() just
973 :     so pointers match
974 :    
975 : maechler 2024 2007-08-02 Martin Maechler <maechler@stat.math.ethz.ch>
976 :    
977 : maechler 2036 * DESCRIPTION (Date): set ready for release -- 0.999375-1
978 : maechler 2024
979 : bates 2020 2007-08-01 15:44 Douglas Bates <bates@stat.wisc.edu>
980 :    
981 :     * [r4686] inst/include/Matrix.h, inst/include/Matrix_stubs.c,
982 :     src/chm_common.c, src/chm_common.h: Change API for
983 :     numeric_as_chm_dense and N_AS_CHM_DN
984 : maechler 2024
985 : maechler 2018 2007-08-01 Martin Maechler <maechler@stat.math.ethz.ch>
986 :    
987 :     * src/dtrMatrix.c (dtrMatrix_matrix_mm): fix dimensionality check (!)
988 :     * tests/matprod.R: regr.test for it
989 :    
990 : maechler 2011 2007-07-20 Martin Maechler <maechler@stat.math.ethz.ch>
991 :    
992 :     * R/dMatrix.R: fix from Brian for Math2(., digits = "missing")
993 :     * tests/group-methods.R: and regression-test it
994 :    
995 : bates 2008 2007-07-19 19:45 Douglas Bates <bates@stat.wisc.edu>
996 :    
997 :     * [r4642] inst/include/Matrix.h, inst/include/Matrix_stubs.c,
998 :     inst/include/cholmod.h, src/chm_common.c, src/init.c: Export
999 :     triplet_to_sparse, documentation, use typedefs
1000 : maechler 2011
1001 : maechler 2005 2007-07-18 Martin Maechler <maechler@stat.math.ethz.ch>
1002 :    
1003 :     * man/dpoMatrix-class.Rd: added 'corMatrix' example
1004 :    
1005 :     * src/dsyMatrix.[ch] (dsyMatrix_as_matrix): new 'keep_dimnames' arg
1006 :     * src/dtrMatrix.[ch] (dtrMatrix_as_matrix): ditto
1007 :     * src/init.c, R/dsyMatrix.R, R/dtrMatrix.R, R/lgTMatrix.R: ditto
1008 :    
1009 :     * R/lsparseMatrix.R: bug fix in "all" method
1010 :     * R/Ops.R (.do.Logic.lsparse): "|" bug in borderline case
1011 :    
1012 :     * R/dsyMatrix.R (coerce->dsTMatrix): (i,j) slots should *not* have names
1013 :     * R/ngTMatrix.R (coerce->ngTMatrix): ditto;
1014 :     + matrix |-> nMatrix coercion
1015 :     * R/pMatrix.R: + setAs() to dMatrix and from nMatrix
1016 :     * man/pMatrix-class.Rd: ditto
1017 :    
1018 :     * R/Matrix.R (Summary): method for non-dMatrix
1019 :    
1020 :     * tests/Class+Meth.R (extraValid): new check about "dirty" slots
1021 :     * tests/Class+Meth.R (tstMatrixClass): test norm(.);
1022 :     test all Summary methods.
1023 :    
1024 :     2007-07-16 Martin Maechler <maechler@stat.math.ethz.ch>
1025 :    
1026 :     * R/dgeMatrix.R (norm, rcond): methods for 'matrix'
1027 :    
1028 :     2007-07-14 Martin Maechler <maechler@stat.math.ethz.ch>
1029 :    
1030 :     * R/sparseMatrix.R (norm): simple methods for sparseMatrix
1031 :    
1032 :     * R/pMatrix.R (t?crossprod): methods for pMatrix
1033 :    
1034 : bates 1987 2007-07-10 Douglas Bates <bates@stat.wisc.edu>
1035 :    
1036 :     * src/dgeMatrix.c (dgeMatrix_colsums): Get the logic straight.
1037 :    
1038 : bates 1975 2007-07-09 20:45 Douglas Bates <bates@stat.wisc.edu>
1039 :    
1040 :     * [r4579] src/dgeMatrix.c: Untangle horrible code in dgeMatrix_colsums
1041 : maechler 2005 trying to fix a subtle bug - which has been somewhere else.
1042 : bates 1975
1043 :     2007-07-09 19:43 Martin Maechler <maechler@stat.math.ethz.ch>
1044 :    
1045 :     * [r4578] src/dgeMatrix.c: "cleaned" dgeMatrix_colsums() - but did not
1046 :     solve the bug
1047 :    
1048 : maechler 1968 2007-07-08 Martin Maechler <maechler@stat.math.ethz.ch>
1049 : bates 1964
1050 : maechler 1968 * src/dgCMatrix.c (compressed_to_TMatrix):
1051 :    
1052 :     2007-07-07 Martin Maechler <maechler@stat.math.ethz.ch>
1053 :    
1054 :     * src/Csparse.c (Rsparse_validate): new, to have some validity
1055 :     checking for RsparseMatrix
1056 :     * src/dgCMatrix.c (xRMatrix_validate): ditto
1057 :     * src/dtCMatrix.c (tRMatrix_validate): ditto
1058 :    
1059 :     2007-07-07 Douglas Bates <bates@stat.wisc.edu>
1060 :    
1061 : bates 1964 * [r4567] R/AllClass.R: Slots already in RsparseMatrix were redefined in
1062 :     lgRMatrix
1063 :     * [r4568] DESCRIPTION: Prepare for bug-fix release
1064 : bates 1966 * [r4570] src/CHOLMOD/Check/cholmod_write.c: Include cholmod_matrixops.h
1065 :     for declaration of cholmod_symmetry
1066 : maechler 1968
1067 : maechler 1961 2007-07-06 Martin Maechler <maechler@stat.math.ethz.ch>
1068 :    
1069 :     * DESCRIPTION (Version): 0.999375 merged into the trunk; ready for
1070 :     release.
1071 :    
1072 : maechler 1960 2007-07-06 14:11 Douglas Bates <bates@stat.wisc.edu>
1073 :    
1074 :     * [r4559] src/iohb.c, src/iohb.h: Remove Harwell-Boeing input/output
1075 :     functions - no longer used
1076 :     * [r4560] src/HBMM.c, src/Mutils.c, src/dgTMatrix.c, src/dgeMatrix.c,
1077 :     src/dspMatrix.c, src/dsyMatrix.c, src/dtCMatrix.c,
1078 :     src/factorizations.c, src/sparseQR.c: Replace most calls to Calloc by
1079 :     Alloca
1080 :    
1081 :     2007-07-06 13:14 Martin Maechler <maechler@stat.math.ethz.ch>
1082 :    
1083 :     * [r4558] inst/doc/Comparisons.Rnw, src/CHMfactor.c, src/Csparse.c,
1084 :     src/Tsparse.c, src/chm_common.c, src/chm_common.h, src/dense.c,
1085 :     src/dgCMatrix.c, src/dsCMatrix.c, src/dtTMatrix.c, src/sparseQR.c,
1086 :     src/t_gCMatrix_colSums.c: more R_CheckStack()s
1087 :    
1088 :     2007-07-05 18:12 Douglas Bates <bates@stat.wisc.edu>
1089 :    
1090 :     * [r4550] inst/include/Matrix.h: Add the macro N_AS_CHM_DN to "alloca"
1091 :     the required amount of memory then call M_numeric_as_chm_dense.
1092 :     * [r4556] src/Mutils.h, src/dgCMatrix.c: Define and use the Alloca macro
1093 :     (like Calloc but calling alloca)
1094 :    
1095 : maechler 1947 2007-07-05 Martin Maechler <maechler@stat.math.ethz.ch>
1096 :    
1097 :     * R/sparseMatrix.R (printSpMatrix): renamed from prSpMatrix()
1098 :     and extended with more sophisticated 'col.names' option.
1099 :     * NAMESPACE: export printSparseMatrix()
1100 :     * man/printSpMatrix.Rd: document, incl. examples
1101 :    
1102 : maechler 1960 2007-07-04 16:21 Douglas Bates <bates@stat.wisc.edu>
1103 :    
1104 :     * [r4543] src/cs_utils.c, src/cs_utils.h, src/dgCMatrix.c,
1105 :     src/dtCMatrix.c, src/sparseQR.c: CSP typedef for *cs and macro
1106 :     AS_CSP. API change - pass the empty structure to Matrix_as_cs.
1107 :    
1108 : maechler 1945 2007-07-04 Martin Maechler <maechler@stat.math.ethz.ch>
1109 :    
1110 :     * DESCRIPTION (Version): 0.99875-4
1111 :    
1112 :     * tests/Class+Meth.R (tstMatrixClass): add dimnames, and hence test
1113 :     some dimnames perservation.
1114 :    
1115 :     * R/dsTMatrix.R (t-method): keep dimnames
1116 :     * R/dtTMatrix.R: ditto
1117 :    
1118 :     * R/sparseMatrix.R (prSpMatrix): print colnames when non-trivial
1119 :     and ncol(.) < 10
1120 :    
1121 :     * src/cs_utils.c: drop check_class() and use Matrix_check_class()
1122 :     from Mutils.h
1123 :    
1124 :     * src/lgCMatrix.c ([ln]csc_to_matrix): no longer lose dimnames,
1125 :     e.g. in as(<ngCMatrix>, "matrix")
1126 :    
1127 : maechler 1960 2007-07-01 13:27 Douglas Bates <bates@stat.wisc.edu>
1128 :    
1129 :     * [r4529] .: Create a branch for the API changes from the 0.99875
1130 :     series to the 0.999375 series
1131 :     * [r4530] DESCRIPTION, inst/include/Matrix.h,
1132 :     inst/include/Matrix_stubs.c, src/CHMfactor.c, src/Csparse.c,
1133 :     src/Mutils.h, src/Tsparse.c, src/chm_common.c, src/chm_common.h,
1134 :     src/dense.c, src/dgCMatrix.c, src/dsCMatrix.c, src/dtTMatrix.c,
1135 :     src/t_gCMatrix_colSums.c: API change - pass the empty structure to the
1136 :     as_cholmod_x functions
1137 :    
1138 :     2007-06-30 09:05 Martin Maechler <maechler@stat.math.ethz.ch>
1139 :    
1140 :     * [r4527] trunk/Matrix/DESCRIPTION, trunk/Matrix/NAMESPACE,
1141 :     trunk/Matrix/inst/doc/Comparisons.Rnw: add session- and hardware-info
1142 :     to Comparisons
1143 :    
1144 :     >>>>>>> .merge-right.r4561
1145 : maechler 1932 2007-06-29 Martin Maechler <maechler@stat.math.ethz.ch>
1146 :    
1147 :     * DESCRIPTION (Version): 0.99875-3 ready to be released.
1148 :    
1149 :     * R/sparseMatrix.R (spMatrix): make spMatrix(3,4) working
1150 :    
1151 :     * R/AllGeneric.R: set "Math" (and "Math2") group generics in a way
1152 :     that should also work in a future version of R.
1153 :    
1154 : maechler 1922 2007-06-21 Martin Maechler <maechler@stat.math.ethz.ch>
1155 :    
1156 :     * NAMESPACE, R/AllClass.R: "xsparseVector" class union.
1157 :    
1158 :     * R/sparseVector.R: more *sparseVector coercions, notably for
1159 :     non - double ones.
1160 :    
1161 : maechler 1911 2007-06-19 Martin Maechler <maechler@stat.math.ethz.ch>
1162 :    
1163 :     * R/colSums.R: new file for all (col|row)(Sums|Means) methods,
1164 :     notably the new ones building on the new .Call(.)s:
1165 :    
1166 :     * src/dgCMatrix.c (DEF_gCMatrix_COLSUMS): use to define
1167 :     all 4 of [dlin]gCMatrix_colSums().
1168 :    
1169 : bates 1909 2007-06-18 16:12 Douglas Bates <bates@stat.wisc.edu>
1170 :    
1171 :     * [r4472] src/Syms.h, src/init.c: Added Matrix_lengthSym
1172 :     * [r4473] src/dgCMatrix.c: Modified dgCMatrix_colSums for sparseVector
1173 :     result
1174 : maechler 1911
1175 : maechler 1903 2007-06-16 Martin Maechler <maechler@stat.math.ethz.ch>
1176 :    
1177 : maechler 1904 * R/kronecker.R: fix typo (could lead to inf.recursion)
1178 :     * test/simple.R: testing that
1179 :    
1180 : maechler 1903 * R/sparseMatrix.R (prSpMatrix): change to be used as print()
1181 : maechler 1922 method as well (which can have arguments, show() can't).
1182 : maechler 1903
1183 : bates 1902 2007-06-16 15:52 Douglas Bates <bates@stat.wisc.edu>
1184 :    
1185 :     * [r4466] R/dgCMatrix.R, src/dgCMatrix.c, src/dgCMatrix.h, src/init.c:
1186 :     added dgCMatrix_colSums for [col,row][Sums,Means]
1187 :    
1188 : bates 1899 2007-06-15 23:15 Douglas Bates <bates@stat.wisc.edu>
1189 : bates 1897
1190 :     * [r4460] R/sparseMatrix.R, man/dgCMatrix-class.Rd, src/dgCMatrix.c,
1191 :     src/dgCMatrix.h, src/init.c: added lm.fit.sparse (unexported),
1192 :     coercion of "factor" to "dgCMatrix" and dgCMatrix_cholsol
1193 :     * [r4461] R/AllClass.R, man/sparseMatrix-class.Rd: draft "indicators"
1194 :     class
1195 : bates 1899 * [r4463] R/sparseMatrix.R, man/dgCMatrix-class.Rd,
1196 :     man/sparseMatrix-class.Rd: Don't need an "indicators" class - use the
1197 :     row names to store the levels - duh! Added an example.
1198 : maechler 1903
1199 : maechler 1893 2007-06-14 Martin Maechler <maechler@stat.math.ethz.ch>
1200 :    
1201 :     * src/Csparse.c (Csparse_validate): check for *repeated* entries
1202 :     thanks to example from Christian Buchta; with a test here:
1203 :     * tests/simple.R:
1204 :    
1205 : maechler 1886 2007-06-07 Martin Maechler <maechler@stat.math.ethz.ch>
1206 :    
1207 :     * R/Auxiliaries.R (callGeneric): another fix, needed for some cases
1208 :     of colSums(*, sparseResult = TRUE)
1209 :    
1210 : maechler 1883 2007-06-06 Martin Maechler <maechler@stat.math.ethz.ch>
1211 :    
1212 :     * R/lsparseMatrix.R, R/ldenseMatrix.R (all, any): change default to
1213 :     'na.rm = FALSE' as "everywhere" else in R.
1214 :    
1215 : bates 1877 2007-06-05 Douglas Bates <bates@stat.wisc.edu>
1216 :    
1217 : bates 1878 * [r4421] src/CSparse_install.sh: Modify for new organization of
1218 : maechler 1883 CSparse package
1219 : bates 1877 * [r4425] src/UFsparse_download.sh: Update to version 3.0.0 of
1220 :     SuiteSparse
1221 :     * [r4426] src/Makefile: add ./UFconfig to the include path for
1222 :     compilation
1223 : maechler 1883 * [r4427] src/cs.[ch]: update to CSparse version 2.2.0
1224 :     * [r4428] inst/doc/UFsparse/* src/{AMD,CHOLMOD,COLAMD}/*
1225 :     src/UFconfig/UFconfig.h: Update to version 3.0.0 of SuiteSparse
1226 :    
1227 : maechler 1870 2007-06-05 Martin Maechler <maechler@stat.math.ethz.ch>
1228 :    
1229 :     * R/Auxiliaries.R (emptyColnames): + argument msg.if.not.empty, used in
1230 :     * R/sparseMatrix.R (prSpMatrix): now gives a message about
1231 :     suppressed column names.
1232 :    
1233 : bates 1868 2007-06-04 17:13 Douglas Bates <bates@stat.wisc.edu>
1234 :    
1235 :     * [r4418] src/Csparse.c, src/HBMM.c, src/Mutils.c, src/Mutils.h,
1236 :     src/Tsparse.c, src/chm_common.c, src/chm_common.h, src/dgCMatrix.c,
1237 :     src/dgeMatrix.c, src/dpoMatrix.c, src/dpoMatrix.h, src/dppMatrix.c,
1238 :     src/dppMatrix.h, src/dsCMatrix.c, src/dspMatrix.c, src/dspMatrix.h,
1239 :     src/dsyMatrix.c, src/dsyMatrix.h, src/dtpMatrix.c, src/dtrMatrix.c:
1240 :     Remove warnings after change to const char* CHAR
1241 :    
1242 :     2007-06-04 17:11 Douglas Bates <bates@stat.wisc.edu>
1243 :    
1244 :     * [r4417] inst/include/Matrix_stubs.c, inst/include/cholmod.h: Corrected
1245 :     type of M_cholmod_ssmult
1246 :    
1247 : bates 1863 2007-06-03 14:42 Douglas Bates <bates@stat.wisc.edu>
1248 :    
1249 :     * [r4412] inst/include/Matrix_stubs.c, inst/include/cholmod.h,
1250 :     src/init.c: Yet another cholmod export - cholmod_ssmult
1251 :    
1252 : maechler 1855 2007-05-23 Martin Maechler <maechler@stat.math.ethz.ch>
1253 :    
1254 :     * NAMESPACE: exported drop0(), since
1255 :     * man/drop0.Rd: I have seen several cases, I really wanted to use
1256 :     it, so our users may want too.
1257 :    
1258 :     2007-05-22 Martin Maechler <maechler@stat.math.ethz.ch>
1259 :    
1260 :     * man/colSums.Rd: separately document colSums() etc, since these
1261 :     have the extra argument 'sparseResult'.
1262 :    
1263 : maechler 1852 2007-05-21 Martin Maechler <maechler@stat.math.ethz.ch>
1264 :    
1265 :     * R/sparseMatrix.R (spMatrix): utility (T)sparse Matrix constructor;
1266 :     * man/spMatrix.Rd: docu., including examples
1267 :    
1268 :     * R/Auxiliaries.R (sp.colMeans): etc, using a patched callGeneric(),
1269 :     in order to make colMeans() etc fast *and* correct.
1270 :     * R/sparseVector.R (replSPvec): "[<-" functionality for
1271 :     sparseVectors; tested in
1272 :     * tests/simple.R:
1273 :    
1274 :     2007-05-19 Martin Maechler <maechler@stat.math.ethz.ch>
1275 :    
1276 :     * R/sparseMatrix.R (print.sparseSummary): and summary() method for
1277 :     (very) sparse Matrices; output similar to Matlab's print().
1278 :    
1279 : bates 1847 2007-05-17 Douglas Bates <bates@stat.wisc.edu>
1280 :    
1281 :     * src/HBMM.c (Matrix_writeMatrixMarket): Write 1-based, not
1282 :     0-based, indices (Jose Quesada <quesada@gmail.com>).
1283 :    
1284 : bates 1844 2007-05-16 Douglas Bates <bates@stat.wisc.edu>
1285 :    
1286 :     * R/CHMfactor.R: Added solve methods for a CHMfactor object.
1287 :    
1288 : maechler 1845 2007-05-16 Martin Maechler <maechler@stat.math.ethz.ch>
1289 :    
1290 :     * R/Auxiliaries.R (sparsapply): new utility, much faster than
1291 :     tapply1() for large sparse matrices.
1292 :    
1293 :     2007-05-15 Martin Maechler <maechler@stat.math.ethz.ch>
1294 :    
1295 :     * R/Matrix.R (dim<-): reshape now via sparseVector.
1296 :    
1297 :     * R/sparseVector.R: methods and function for
1298 :     * R/AllClass.R: new "sparseVector" class and daughters.
1299 :     * NAMESPACE: export new classes
1300 :    
1301 : maechler 1837 2007-05-14 Martin Maechler <maechler@stat.math.ethz.ch>
1302 :    
1303 :     * DESCRIPTION (Version): 0.99875-1
1304 :     * src/Makefile.win: also remove Lapack code from here (cf. 04-25).
1305 :    
1306 : maechler 1834 2007-05-11 Martin Maechler <maechler@stat.math.ethz.ch>
1307 :    
1308 :     * R/Tsparse.R ([, Tsparse): fix last case: *duplicated*, symmetric
1309 :     indexing
1310 :     * tests/indexing.R: test set for that.
1311 :    
1312 : maechler 1833 2007-05-08 Martin Maechler <maechler@stat.math.ethz.ch>
1313 :    
1314 :     * R/Tsparse.R (replTmat): fix the case of *duplicated* index
1315 :     entries.
1316 :     * tests/indexing.R(out): add regression test for it
1317 :    
1318 :     2007-04-30 Martin Maechler <maechler@stat.math.ethz.ch>
1319 :    
1320 :     * R/(l(dense|sparse))?Matrix.R (!): use 'x', not 'e1' as argument
1321 :     name for "!" method definitions.
1322 :    
1323 : maechler 1829 2007-04-26 Martin Maechler <maechler@stat.math.ethz.ch>
1324 :    
1325 :     * R/Tsparse.R (intI): new utility, used for "[" :
1326 :     Cleanup up there, and fixes for duplicated indices - more TODO!
1327 :    
1328 :     * tests/indexing.R(out): more tests
1329 :    
1330 : bates 1827 2007-04-25 Douglas Bates <bates@stat.wisc.edu>
1331 :    
1332 :     * DESCRIPTION,src/Makefile: require R>= 2.5.0 and remove Lapack
1333 :     code that is now part of the R Lapack library.
1334 : maechler 1829
1335 : bates 1827 * src/init.c,inst/include/{Matrix_stubs.c,cholmod.h}:export
1336 :     cholmod_factorize_p (used in lme4 for GLMMs and NLMMs).
1337 :    
1338 : maechler 1829 2007-04-21 Martin Maechler <maechler@stat.math.ethz.ch>
1339 :    
1340 :     * R/Matrix.R (image): method for all Matrices, not just sparse ones.
1341 :    
1342 :     2007-04-17 Martin Maechler <maechler@stat.math.ethz.ch>
1343 :    
1344 :     * R/Auxiliaries.R (tapply1): unname(.) -> colSums() etc don't end
1345 :     up with extraneous names '0'...'<n-1>'
1346 :    
1347 : maechler 1825 2007-04-12 Martin Maechler <maechler@stat.math.ethz.ch>
1348 :    
1349 :     * R/dgTMatrix.R (mat2dgT): care about NAs
1350 :    
1351 :     2007-04-11 Martin Maechler <maechler@stat.math.ethz.ch>
1352 :    
1353 :     * R/kronecker.R: triangularity preserving methods
1354 :    
1355 : maechler 1803 2007-03-27 Martin Maechler <maechler@stat.math.ethz.ch>
1356 :    
1357 :     * R/kronecker.R: new file collecting kronecker() methods in one
1358 :     place. Goal: become much faster!
1359 :    
1360 : maechler 1799 2007-03-23 Martin Maechler <maechler@stat.math.ethz.ch>
1361 :    
1362 :     * src/dtCMatrix.c (dtCMatrix_solve): use the new code from Kasper
1363 :     Kristensen based cs_spsolve() instead of _lsolve & _usolve which
1364 :     can be much faster.
1365 :    
1366 :     * tests/matprod.R: add regression tests for these (upper & lower).
1367 :    
1368 :     2007-03-19 Martin Maechler <maechler@stat.math.ethz.ch>
1369 :    
1370 :     * R/Matrix.R (diff): method for our Matrices.
1371 :    
1372 :     * R/sparseMatrix.R (isDiagonal): check dim()!
1373 :    
1374 :     2007-03-17 Martin Maechler <maechler@stat.math.ethz.ch>
1375 :    
1376 :     * R/Matrix.R (dim<-): new method for "reshape()" built on a
1377 :     proposal from Tamas Papp.
1378 :    
1379 :     2007-03-16 Martin Maechler <maechler@stat.math.ethz.ch>
1380 :    
1381 :     * R/AllGeneric.R: remove all if(!isGeneric(.)) clauses
1382 :    
1383 :     * R/zzz.R (.onLoad, .onUnload): do *not* leave bind_activation(TRUE);
1384 : maechler 1803 rather define and export cBind() and rBind() only.
1385 :     --> useRs *must* change code that used to have cbind()/rbind() !!
1386 : maechler 1799
1387 : maechler 1803 * R/bind.R: change tests from cbind() to cBind() and similarly to rBind()
1388 :     * R/bind.Rout.save: ditto
1389 : maechler 1799
1390 : bates 1787 2007-02-16 Douglas Bates <bates@r-project.org>
1391 :    
1392 :     * DESCRIPTION (Date, Version): 0.9975-11 with new date
1393 :     * src/dgCMatrix.c (R_to_CMatrix, compressed_to_TMatrix): remove
1394 :     const modifier on declaration of the array 'valid'
1395 :    
1396 : bates 1786 2007-02-12 Douglas Bates <bates@stat.wisc.edu>
1397 :    
1398 :     * R/CHMfactor.R: Add image method (coercion to sparseMatrix).
1399 :    
1400 : maechler 1765 2007-02-05 Martin Maechler <maechler@stat.math.ethz.ch>
1401 :    
1402 : maechler 1768 * DESCRIPTION (Date, Version): 0.9975-10 with new date.
1403 :    
1404 : maechler 1767 * R/Ops.R (Arith): make sure Csparse o Csparse also works for e.g. ntCMatrix
1405 :     * tests/simple.R: test the above and some of these coercions:
1406 :    
1407 :     * R/nsparseMatrix.R: coercing "Csparse" to "lsparseMatrix";
1408 :     be careful to avoid infinite recursion, using new coercions in
1409 :     * R/ngCMatrix.R and nsC... and ntC...
1410 :     * R/lsparseMatrix.R: ditto
1411 :    
1412 : maechler 1765 * R/SparseM-conv.R: more conversion, notably for triplet matrices.
1413 :    
1414 : maechler 1767 * src/dgCMatrix.c (R_to_C_Matrix): port Doug's fix and
1415 :     * R/Rsparse.R: reactivate .Call()s
1416 : maechler 1765
1417 : maechler 1767 * tests/Class+Meth.R: a bit more on actual classes
1418 :    
1419 :     2007-02-04 Douglas Bates <bates@stat.wisc.edu>
1420 :    
1421 :     * src/dgCMatrix.c (compressed_to_TMatrix): fix memory bug using strdup()
1422 :    
1423 : maechler 1760 2007-02-03 Martin Maechler <maechler@stat.math.ethz.ch>
1424 : maechler 1758
1425 :     * DESCRIPTION (Version): 0.9975-10 to upload
1426 :    
1427 : maechler 1760 * tests/Class+Meth.R (tstMatrixClass): require coercions to
1428 :     specific classes less unconditionally.
1429 :    
1430 :     * R/Auxiliaries.R: get rid of as_Tsparse() and as_Rsparse()
1431 :    
1432 :     * R/Tsparse.R (triu): etc, use as(*, "TsparseMatrix") instead of as_Tsparse()
1433 :    
1434 :     * R/Rsparse.R (.R.2.T): R-level workaround using compressed_to_TMatrix.
1435 : maechler 1758 * R/Rsparse.R (.R.2.C): R-level workaround since C-level
1436 :     R_to_CMatrix segfaults on one platform.
1437 : maechler 1760 Eliminate most coercion method to *specific* classes, and replace
1438 :     with virtual classes coercions.
1439 : maechler 1758
1440 : maechler 1760
1441 : maechler 1758 2007-02-01 Martin Maechler <maechler@stat.math.ethz.ch>
1442 :    
1443 :     * src/init.c: export the CHM...._validate() placeholders, since
1444 :     they *are* called.
1445 :    
1446 : maechler 1760 * tests/Class+Meth.R (classCanCoerce): and starting to test
1447 : maechler 1758 all as(<from>, <to>)
1448 :    
1449 : maechler 1751 2007-01-30 Martin Maechler <maechler@stat.math.ethz.ch>
1450 :    
1451 :     * R/Tsparse.R ([): more care when subsetting triangular Tsparse
1452 :     * tests/indexing.R: tested now
1453 :     * tests/indexing.Rout.save: updated
1454 :    
1455 :     * src/Csparse.c (Csparse_to_dense): use Rkind = -1 for PATTERN to
1456 :     * src/chm_common.c (chm_dense_to_SEXP): return "ngeMatrix" when
1457 :     appropriate.
1458 :    
1459 :     * NAMESPACE: export a trivial
1460 :     * R/Matrix.R: drop() Matrix-method
1461 :    
1462 :     * R/AllClass.R: moved all prototypes to virtual super classes.
1463 :    
1464 :     * R/Rsparse.R: many more coercions to have less exceptions in
1465 :     * tests/Class+Meth.R:
1466 :    
1467 :     * R/Ops.R (Compare): tweak for case with NA
1468 :     * tests/simpl.R: hence another 'FIXME' eliminated
1469 :    
1470 : maechler 1747 2007-01-29 Martin Maechler <maechler@stat.math.ethz.ch>
1471 :    
1472 : maechler 1748 * R/diagMatrix.R (solve): the obvious methods for diagonalMatrix
1473 :     objects.
1474 :    
1475 : maechler 1747 * tests/Class+Meth.R (tstMatrixClass): now testing diag(), nnzero(),
1476 :     and more of "!", "&", "|", all, any; coercions
1477 :    
1478 :     * R/Rsparse.R: many coercions (which enable quite a few other
1479 :     methods), thanks to enhancements in
1480 :     * src/dgCMatrix.c (R_to_CMatrix): new, and
1481 :     * src/dgCMatrix.c (compressed_to_TMatrix): now for (d,l,n) ,
1482 :     symmetric & triangular and ..RMatrix objects.
1483 :    
1484 :     * src/TMatrix_as.c (Matrix_T_as_DENSE,Matrix_T_as_GENERAL):
1485 :     renamed file from src/dsTMatrix.c;
1486 :     now dealing with symmetric and triangular Tsparse coercions, both
1487 :     to dense and general.
1488 :    
1489 :     2007-01-27 Martin Maechler <maechler@stat.math.ethz.ch>
1490 :    
1491 :     * src/dsTMatrix.c: has now "l" and "n" methods besides the "d" ones.
1492 :    
1493 :     * R/Ops.R (Arith): <dgCMatrix> o <numeric> now remains sparse
1494 :     where sensible when the <numeric> is of length > 1.
1495 :    
1496 :     2007-01-26 Martin Maechler <maechler@stat.math.ethz.ch>
1497 :    
1498 :     * R/Matrix.R ([<-): for M[] <- value: fix length
1499 :    
1500 :     2007-01-25 Martin Maechler <maechler@stat.math.ethz.ch>
1501 :    
1502 :     * R/Auxiliaries.R (n2l_Matrix): new, to be used in
1503 :     * R/ndenseMatrix.R: new coercions n* -> l*
1504 :    
1505 : maechler 1738 2007-01-22 Martin Maechler <maechler@stat.math.ethz.ch>
1506 :    
1507 :     * R/triangularMatrix.R: new file; simple triu() and tril() methods.
1508 :    
1509 :     * R/Ops.R ("Logic"): and other "Ops", many updates
1510 :    
1511 :     2007-01-18 Martin Maechler <maechler@stat.math.ethz.ch>
1512 :    
1513 :     * src/Mutils.h (SET_DimNames): new utility
1514 :    
1515 :     * R/Auxiliaries.R (nnzero): improved and now exported via
1516 :    
1517 :     * NAMESPACE: + nnzero(); length() == prod(dim(.)) method for all "Matrix" objects
1518 :    
1519 : maechler 1725 2007-01-17 Martin Maechler <maechler@stat.math.ethz.ch>
1520 :    
1521 :     * R/diagMatrix.R (!): fix typo.
1522 :    
1523 :     2007-01-16 Martin Maechler <maechler@stat.math.ethz.ch>
1524 :    
1525 :     * R/Auxiliaries.R (as_Csparse): and quite a few others:
1526 :     allow to pass class definition --> speedup
1527 :     * R/sparseMatrix.R: apply the above
1528 :    
1529 :     * R/Csparse.R: coercion Csparse* to dense* now preserves shape properties.
1530 :    
1531 :     * src/Mutils.h (mMatrix_as_geMatrix): new, based on
1532 :     * src/Mutils.c (dup_mMatrix_as_geMatrix): new; generalization of
1533 :     old dup_mMatrix_as_dgeMatrix), eliminating a long-standing "FIXME".
1534 :    
1535 :     * src/dense.c (dense_to_Csparse): use new mMatrix_as_geMatrix()
1536 :    
1537 :     * R/denseMatrix.R (.dense2C): based on dense_to_Csparse: name it,
1538 :     and use it for "sparse*" as well, since it's faster than the
1539 :     as_Csparse(.) way.
1540 :    
1541 :     2007-01-15 Martin Maechler <maechler@stat.math.ethz.ch>
1542 :    
1543 :     * R/Ops.R ("Logic"): more methods, notably an <lgC> o <lgC> one.
1544 :    
1545 : maechler 1724 2007-01-12 Martin Maechler <maechler@stat.math.ethz.ch>
1546 :    
1547 :     * R/Tsparse.R (.TM.repl.i.2col): new internal function to be used
1548 :     as method for M[ ij ] <- v
1549 :     * R/Csparse.R:: go via Tsparse for "M[ij] <- v"
1550 :    
1551 :     * R/Ops.R: "Compare" for (C|R)sparse: need pointer slot for all
1552 :     FALSE answer
1553 :    
1554 :     * R/Csparse.R (replCmat): fix the "all non-zero" case with reordering
1555 :     * tests/indexing.R: test it, and some of the above
1556 :    
1557 :     2007-01-05 Martin Maechler <maechler@stat.math.ethz.ch>
1558 :    
1559 :     * R/Auxiliaries.R (is_duplicatedT): new utility
1560 :    
1561 : bates 1716 2007-01-05 Douglas Bates <bates@stat.wisc.edu>
1562 :    
1563 :     * src/init.c (R_init_Matrix): export cholmod_scale
1564 :    
1565 : maechler 1724 2006-12-30 Martin Maechler <maechler@stat.math.ethz.ch>
1566 :    
1567 :     * R/zzz.R (tmp): for R >= 2.5.0, extend formals of our
1568 :     base::as.matrix to (x, ...)
1569 :    
1570 : maechler 1714 2006-12-28 Martin Maechler <maechler@stat.math.ethz.ch>
1571 :    
1572 :     * R/Ops.R ("Arith" etc): move almost all "Ops" methods to new R
1573 :     file; start using "Logic", hence
1574 :    
1575 :     * DESCRIPTION (Depends): R >= 2.4.1 (since we want "Logic")
1576 :     * NAMESPACE: import and export "Logic"
1577 :    
1578 :     2006-12-27 Martin Maechler <maechler@stat.math.ethz.ch>
1579 :    
1580 :     * src/zpotfr.f and dependencies: use LAPACK 3.1 version
1581 :     only needed previously to R version 2.5.0.
1582 : maechler 1724
1583 : maechler 1710 2006-12-26 Martin Maechler <maechler@stat.math.ethz.ch>
1584 :    
1585 :     * DESCRIPTION (Date, Version): 0.9975-8, ready for release
1586 :    
1587 :     * R/Tsparse.R (replTmat): fix subassignment of triangular
1588 :     * R/Csparse.R (replCmat): ditto
1589 :     * tests/indexing.R: more tests, incl the above fix
1590 :    
1591 :     2006-12-23 Martin Maechler <maechler@stat.math.ethz.ch>
1592 :    
1593 :     * R/Auxiliaries.R (drop0): extend for non CSparse
1594 :     * R/Auxiliaries.R (diagU2N): should work for all sparseMatrix
1595 :    
1596 :     * src/Csparse.c (Csparse_to_Tsparse, Csparse_general_to_symmetric):
1597 :     use uplo correctly (!); other places: use uplo_P() macro
1598 :    
1599 :     * R/Csparse.R (replCmat): call diagU2N() when needed
1600 :     * R/Tsparse.R (replTmat): ditto
1601 :    
1602 :     * src/dtCMatrix.c (tCMatrix_validate): new
1603 :     * src/dtTMatrix.c (tTMatrix_validate): new, used in
1604 :     * R/AllClass.R: for validity of dtC, dsC, and dtT, dsT.
1605 :    
1606 :     * R/diagMatrix.R (replDiag): to use in [<-
1607 :    
1608 : maechler 1708 2006-12-22 Martin Maechler <maechler@stat.math.ethz.ch>
1609 :    
1610 :     * R/Auxiliaries.R (as_Csparse2, as_geSimpl): new functions;
1611 :     also more general diagU2N().
1612 :    
1613 :     2006-12-21 Martin Maechler <maechler@stat.math.ethz.ch>
1614 :    
1615 :     * R/bind2.R: new file for all cbind2(), rbind() methods moved here
1616 :     from R/<foo>Matrix.R files. Better diagonal & improved sparse methods.
1617 :    
1618 : maechler 1707 2006-12-20 Martin Maechler <maechler@stat.math.ethz.ch>
1619 :    
1620 :     * tests/bind.R: a few more cases
1621 :     * R/Auxiliaries.R (.M.kind): also work for atomic vectors
1622 :    
1623 :     * R/denseMatrix.R (cbind2/rbind2): moved here (and generalized) from
1624 :     * R/ddenseMatrix.R (cbind2/rbind2)
1625 :     * R/Tsparse.R (replTmat): final(?!) fix for "[<-" ..
1626 :     * tests/indexing.R
1627 :     * tests/indexing.Rout.save: updated
1628 :    
1629 :     2006-12-18 Martin Maechler <maechler@stat.math.ethz.ch>
1630 :    
1631 :     * R/Tsparse.R (replTmat): fixed a remaining "[<-" bug in
1632 :     * tests/indexing.R
1633 :    
1634 : maechler 1705 2006-12-15 Martin Maechler <maechler@stat.math.ethz.ch>
1635 :    
1636 :     * R/sparseMatrix.R (prSpMatrix): "." alignment much improved:
1637 :     align with proper position of "0", i.e., right for integers.
1638 :     argument 'align' by default is "fancy".
1639 :    
1640 :     2006-12-14 Martin Maechler <maechler@stat.math.ethz.ch>
1641 :    
1642 :     * R/sparseMatrix.R: delegate "Compare" to "Csparse.."
1643 :     * R/Csparse.R: and fix "Compare" for more cases.
1644 :     * tests/Class+Meth.R: test some of these (m == m, m != m)
1645 :    
1646 :     2006-12-13 Martin Maechler <maechler@stat.math.ethz.ch>
1647 :    
1648 :     * R/lsparseMatrix.R: all() and any() methods
1649 :     * R/ldenseMatrix.R: ditto
1650 :     * NAMESPACE, R/Matrix.R: ditto
1651 :    
1652 :     * man/all-methods.Rd: document them minimally
1653 :    
1654 :     * tests/simple.R: add a few examples for these
1655 :    
1656 : maechler 1696 2006-12-11 Martin Maechler <maechler@stat.math.ethz.ch>
1657 :    
1658 :     * R/Tsparse.R ([): fix long standing typo in symmetric case
1659 :     * man/dsCMatrix-class.Rd: add example exhibiting the above case
1660 :    
1661 : bates 1691 2006-12-10 Douglas Bates <bates@stat.wisc.edu>
1662 :    
1663 :     * src/CHMfactor.c (CHMfactor_to_sparse): change LDL factorization
1664 :     to LL before converting to a sparse matrix. (The LDL form can be
1665 :     converted to a sparse matrix but it is implicitly a unit
1666 :     triangular matrix and a diagonal matrix overwritten on the diagonal.)
1667 :    
1668 :     2006-12-09 Douglas Bates <bates@stat.wisc.edu>
1669 :    
1670 :     * src/chm_common.c (chm_factor_to_SEXP): allocate and fill the Dim slot.
1671 :    
1672 : bates 1688 2006-12-08 Douglas Bates <bates@stat.wisc.edu>
1673 :    
1674 :     * DESCRIPTION (Version): updated -> release 0.9975-7
1675 :     * src/{init.c,chm_common.c}, inst/include/*: export cholmod_analyze_p
1676 :    
1677 : maechler 1682 2006-11-30 Martin Maechler <maechler@stat.math.ethz.ch>
1678 :    
1679 :     * R/diagMatrix.R (%*%): write a direct [diag o Csparse] method
1680 :    
1681 : bates 1681 2006-11-29 Douglas Bates <bates@stat.wisc.edu>
1682 :    
1683 :     * src/dgeMatrix.c (dgeMatrix_solve): Check error code from dgetri.
1684 :     * tests/dg_Matrix.R: Add Barry Rowlingson's test of a matrix that
1685 :     is exactly singular.
1686 :    
1687 : maechler 1674 2006-11-07 Martin Maechler <maechler@stat.math.ethz.ch>
1688 :    
1689 :     * DESCRIPTION (Date): updated -> release 0.9975-6
1690 :    
1691 : maechler 1673 2006-11-06 Martin Maechler <maechler@stat.math.ethz.ch>
1692 :    
1693 :     * R/Csparse.R (replCmat): symmetric indexing of symmetric matrix
1694 :     now returns symmetric.
1695 :    
1696 :     * R/zzz.R ("diag<-"): replace "diag<-" in base for R <= 2.4.x
1697 :    
1698 :     * R/Matrix.R (.M.sub.i.2col): new, for M[ cbind(i,j) ] indexing.
1699 :     * R/Matrix.R (.M.repl.i.2col): new, for M[ cbind(i,j) ] <- value
1700 :    
1701 :     * R/Auxiliaries.R (.type.kind): added
1702 :    
1703 :     2006-11-04 Martin Maechler <maechler@stat.math.ethz.ch>
1704 :    
1705 :     * src/cs.[ch]: updated to CSparse Version 2.0.3 by simply
1706 :     running src/CSparse_install.sh
1707 :    
1708 :     * R/denseMatrix.R: "[": keep symmetric on symmetric indexing.
1709 :    
1710 : maechler 1665 2006-11-03 Martin Maechler <maechler@stat.math.ethz.ch>
1711 :    
1712 :     * src/dsCMatrix.c (dsCMatrix_Csparse_solve): new
1713 :     * R/dsCMatrix.R (solve): "fully-sparse" using the above.
1714 :    
1715 :     * R/AllClass.R: "pMatrix" now also inherits from "generalMatrix"
1716 :    
1717 :     * tests/Class+Meth.R (tstMatrixClass): now assure
1718 :     the (important in method programming) property :
1719 :    
1720 :     ###>> Every "Matrix" is either
1721 :     ###>> "general*", "symmetric*", "triangular*" or "diagonal*"
1722 :    
1723 :     (where "*" stands for "Matrix")
1724 :    
1725 :     * R/Auxiliaries.R (diagU2N): now .Call()s Csparse_diagU2N for <Csparse>
1726 :    
1727 :     * R/dMatrix.R (Compare(<dMatrix>,<dMatrix>): update and
1728 :     * tests/validObj.R: checks for "comparison"
1729 :    
1730 :     * R/sparseMatrix.R ([): improved indexing for sparse;
1731 :     trying to keep <symmetric>[ n, n] symmmetric
1732 :    
1733 :     * tests/indexing.R: indexing for logical sparse now ok
1734 :    
1735 :    
1736 : maechler 1660 2006-11-02 Martin Maechler <maechler@stat.math.ethz.ch>
1737 :    
1738 : maechler 1661 * src/Tsparse.c: use xTsparse_validate() , and hence remove
1739 :    
1740 :     * src/{ltC,lsC,lgT}Matrix.[ch]: removed
1741 :    
1742 :     2006-11-02 Martin Maechler <maechler@stat.math.ethz.ch>
1743 :    
1744 : maechler 1660 * R/AllClass.R (Matrix-class): check length of dimnames in validity.
1745 :    
1746 :     * tests/simple.R: validObject() checking the above.
1747 :    
1748 : maechler 1665 * src/dgCMatrix.c (xCMatrix_validate): new, small and simple,
1749 : maechler 1660 replacing both dgCMatrix_validate and lgCM*.
1750 :    
1751 :     * src/Csparse.c (Csparse_dense_prod, etc): do not lose dimnames;
1752 :     fix dimnames setting in other places.
1753 :     * src/chm_common.c (chm_dense_to_SEXP): now can pass dimnames
1754 :    
1755 : maechler 1659 2006-11-01 Martin Maechler <maechler@stat.math.ethz.ch>
1756 :    
1757 : maechler 1660 * R/Csparse.R,src/Csparse.c, etc: tcrossprod(<CsparseM>,<CsparseM>)
1758 :    
1759 :     * R/sparseMatrix.R (isSymmetric): drop 'factors' slot for
1760 :     symmetry test, via
1761 : maechler 1659 * R/Auxiliaries.R (.as.dgC.0.factors):
1762 :    
1763 : bates 1657 2006-11-01 Douglas Bates <bates@r-project.org>
1764 :    
1765 :     * R/Csparse.R,src/Csparse.c,tests/matprod.R,
1766 :     man/CsparseMatrix-class.Rd: crossprod(<CsparseMatrix>,
1767 :     <CsparseMatrix>) added
1768 :    
1769 : maechler 1655 2006-10-30 Martin Maechler <maechler@stat.math.ethz.ch>
1770 :    
1771 :     * tests/matprod.R: add a variation of Harri's example
1772 :    
1773 :     * R/dsparseMatrix.R: fix crossprod(<dsparse>, <dge>) to *not*
1774 :     recursive infinitely.
1775 :    
1776 :     * R/dgCMatrix.R: + solve(<sparse>, <sparse>)
1777 :    
1778 :     * tests/indexing.R: add test for the "<" bug fixed 10-27 in R/dMatrix.R
1779 :    
1780 :     2006-10-28 Martin Maechler <maechler@stat.math.ethz.ch>
1781 :    
1782 :     * tests/Class+Meth.R (tstMatrixClass): more: use non-trivial
1783 :     matrix if possible; test m+m == 2*m; now test dgRMatrix.
1784 :     * R/dgRMatrix.R (.to.dgR): a few more coercions, in order to
1785 :     satisfy the above test.
1786 :    
1787 : maechler 1654 2006-10-27 Martin Maechler <maechler@stat.math.ethz.ch>
1788 :    
1789 : maechler 1655 * R/Matrix.R (Ops): <Matrix> o <matrix> method added
1790 :    
1791 : maechler 1654 * R/dgCMatrix.R: solve(a, b="missing") based on
1792 :     * src/dgCMatrix.c (dgCMatrix_matrix_solve): extend to work with
1793 :     RHS = NULL.
1794 :    
1795 :     * R/diagMatrix.R (diagdiagprod): extend %*% etc to ldiMatrix;
1796 :     add more (needed) [t]crossprod() methods.
1797 :    
1798 :     * man/ddiMatrix-class.Rd: more info, notably on 'diag'
1799 :    
1800 :     * R/Auxiliaries.R (as_CspClass): cleanup
1801 :     (drop0): internal utility for "Csparse_drop(*, 0)"
1802 :     (.bail.out.2): encourage active feedback
1803 :    
1804 :     2006-10-26 Martin Maechler <maechler@stat.math.ethz.ch>
1805 :    
1806 :     * R/dMatrix.R(Compare): new(), then slots [no validity check]
1807 :    
1808 :     * src/Csparse.c (Csparse_validate): fixed (and more efficient in
1809 :     non-valid or 'sorted' case).
1810 :    
1811 :     * R/dsparseMatrix.R: add "chol" method.
1812 :     * R/ddenseMatrix.R: ditto
1813 :    
1814 :     * R/diagMatrix.R (Ops): group methods for <diagonal> o <sparse>
1815 :     * NAMESPACE (Ops)
1816 :     * R/diagMatrix.R (diag2T): simple utility used "higher level"
1817 :     coercion; deprecating direct lower level coercions.
1818 :    
1819 :     * R/*.R (seq): use seq_len() and seq_along() where possible.
1820 :    
1821 :    
1822 : maechler 1647 2006-10-23 Martin Maechler <maechler@stat.math.ethz.ch>
1823 :    
1824 :     * DESCRIPTION (Version): 0.9975-5 ready for release
1825 :    
1826 : bates 1646 2006-10-20 Douglas Bates <bates@stat.wisc.edu>
1827 :    
1828 :     * src/init.c (R_init_Matrix): export more cholmod CCallable functions.
1829 :    
1830 : maechler 1642 2006-10-20 Martin Maechler <maechler@stat.math.ethz.ch>
1831 :    
1832 :     * R/AllClass.R (corMatrix): add 'validity' check;
1833 :     comment out unused "LDL" class definition
1834 :     * NAMESPACE: mention, but do not export "LDL" class
1835 :     * R/corMatrix.R: new (simple), needed for R-devel with
1836 :     * tests/Class+Meth.R (tstMatrixClass): 1 exception for corMatrix
1837 :     coerce and t() exceptions for all 5 'Mat.MatFact' classes.
1838 :    
1839 : bates 1641 2006-10-19 Douglas Bates <bates@stat.wisc.edu>
1840 :    
1841 :     * src/chm_common.h: Add R_cholmod_start to initialize cholmod to
1842 :     use Rprintf and R's error handling.
1843 :    
1844 : maechler 1635 2006-10-17 Martin Maechler <maechler@stat.math.ethz.ch>
1845 :    
1846 :     * R/diagMatrix.R (%*%): rep(*, each = .) in Matrix %*% diagonal.
1847 :     * tests/matprod.R: add tests for the bug fixed.
1848 :    
1849 : bates 1624 2006-10-11 Douglas Bates <bates@stat.wisc.edu>
1850 :    
1851 :     * src/HBMM.[ch]: remove HarwellBoeing format for writing.
1852 :     * src/SOURCES_C.mkf (SOURCES_C): no longer compile iohb.c
1853 :    
1854 :     2006-10-06 Douglas Bates <bates@stat.wisc.edu>
1855 :    
1856 : bates 1629 * R/d[gs]CMatrix.R: deprecate the writeHB function. Use writeMM instead.
1857 : bates 1624
1858 : maechler 1618 2006-10-06 Martin Maechler <maechler@stat.math.ethz.ch>
1859 :    
1860 :     * DESCRIPTION (Version): 0.9975-3
1861 :    
1862 :     * R/diagMatrix.R (bdiag): new function constructing block diagonal
1863 :     (sparse) matrices.
1864 :     * man/bdiag.Rd: docu + examples
1865 :    
1866 : maechler 1619 * R/Csparse.R (replCmat): calling new Csparse_drop() now.
1867 :    
1868 : maechler 1618 * src/Csparse.c (Csparse_general_to_symmetric, Csparse_drop): new functions
1869 :     * R/lsCMatrix.R: three more coercions to lsC (thanks to the above)
1870 :    
1871 :     * R/diagMatrix.R (Diagonal): '[<-' method for diag.matrices such
1872 :     that result is sparse or diagonal (and not dense).
1873 :    
1874 :     * man/Subassign-methods.Rd: fix examples
1875 :    
1876 :     * R/Matrix.R (Matrix): Matrix(0, *) or Matrix(*, sparse=TRUE)
1877 :     should always return a sparse (and not sometimes a diagonal) matrix.
1878 :    
1879 : maechler 1615 2006-10-05 Martin Maechler <maechler@stat.math.ethz.ch>
1880 :    
1881 :     * R/Matrix.R ([<-): also for value "Matrix" or "matrix"
1882 :    
1883 : bates 1613 2006-10-04 Douglas Bates <bates@stat.wisc.edu>
1884 :    
1885 :     * DESCRIPTION (Version): 0.9975-2
1886 : maechler 1615
1887 : bates 1613 * inst/include/Matrix_stubs.c (M_cholmod_sparse_to_triplet): export more symbols
1888 :    
1889 : bates 1611 2006-10-02 Douglas Bates <bates@R-project.org>
1890 :    
1891 :     * tests/dg_Matrix.R: Simplify test taking into account new code.
1892 :    
1893 : maechler 1599 2006-09-29 Martin Maechler <maechler@stat.math.ethz.ch>
1894 :    
1895 : maechler 1600 * R/Csparse.R (replCmat): improve for missing i / j in non-simple cases
1896 :    
1897 : maechler 1599 * R/lsTMatrix.R: new files w/ missing methods
1898 :     * R/nsTMatrix.R: " 'for completeness'
1899 :    
1900 :     * tests/Class+Meth.R: a bit less 'not.ok.classes'
1901 :    
1902 :     * R/Tsparse.R (t): generalized "t" method from "dgT*" to "Tsparse*"
1903 :    
1904 :    
1905 : bates 1595 2006-09-28 Douglas Bates <bates@R-project.org>
1906 :    
1907 :     * src/dppMatrix.h: Ensure definition of dspMatrix_validate is
1908 :     included.
1909 :    
1910 :     * src/init.c, inst/include/{Matrix.h,Matrix_stubs.h,cholmod.h}:
1911 :     Export C-callable functions used in Zt_create in lme4.
1912 :    
1913 : maechler 1592 2006-09-28 Martin Maechler <maechler@stat.math.ethz.ch>
1914 :    
1915 :     * DESCRIPTION (Version): 0.9975-1
1916 :    
1917 :     * tests/simple.R: less checks fail; using NA, found that our
1918 :     kronecker() is not base-compatible with NA's.
1919 :    
1920 :     * R/dMatrix.R: "Compare" method now implemented for all cases
1921 :    
1922 :     * R/Auxiliaries.R (indTri): == which([lower/upper].tri( * )) new utility
1923 :    
1924 :     * man/dtpMatrix-class.Rd: mention length of 'x' slot
1925 :    
1926 :     * src/dtpMatrix.c (dtpMatrix_validate): fix check
1927 :     * src/dspMatrix.c (dspMatrix_validate): ditto
1928 :    
1929 :     * R/dtTMatrix.R (gt2tT): fix ("l" -> "n")
1930 :     including coercion to [nl]tTMatrix.
1931 :    
1932 :     * R/diagMatrix.R (show): print a header line as for other classes.
1933 :    
1934 :     2006-09-27 Martin Maechler <maechler@stat.math.ethz.ch>
1935 :    
1936 :     * src/Makefile.win (SUBDIRS): fix typo
1937 :    
1938 : maechler 1583 2006-09-19 Martin Maechler <maechler@stat.math.ethz.ch>
1939 :    
1940 :     * DESCRIPTION (Date): ready to release 0.9975-0 to CRAN
1941 :    
1942 : bates 1577 2006-09-18 Douglas Bates <bates@stat.wisc.edu>
1943 :    
1944 :     * R/[CT]sparse.R (crossprod and tcrossprod): Handle the cases for x
1945 :     symmetric and y missing in R code using %*% (cholmod_aat doesn't
1946 :     accept a symmetric matrix).
1947 :     * tests/group-methods.R: Uncomment test of crossprod applied to
1948 :     lsCMatrix objects.
1949 :    
1950 : maechler 1575 2006-09-18 Martin Maechler <maechler@stat.math.ethz.ch>
1951 :    
1952 :     * R/AllClass.R (symmetricMatrix): add validity method (available
1953 :     in C for a long time). Many "n..Matrix": drop (wrong) validity arg.
1954 :    
1955 :     * src/lgCMatrix.c (lgCMatrix_validate): check 'x' slot (!)
1956 :    
1957 :     * tests/indexing.Rout.save:
1958 :     * tests/indexing.R: additions, mainly for 'lsparse'
1959 :    
1960 :     * R/diagMatrix.R (Diagonal) & coercion to lgTMatrix: fixes for NA
1961 :     case.
1962 :    
1963 :     * R/Auxiliaries.R (nz.NA): new utility now used in nnzero()
1964 :    
1965 : maechler 1571 2006-09-16 Martin Maechler <maechler@stat.math.ethz.ch>
1966 :    
1967 : maechler 1572 * R/sparseMatrix.R (prSpMatrix): print logical NAs "visibly"
1968 :     as 'N' (1-letter - Ok?)
1969 :    
1970 : maechler 1571 * tests/group-methods.R: add test for logical + NAs
1971 :    
1972 :     * R/dMatrix.R ("Compare"): fix to work with NA's
1973 :    
1974 :     * R/AllClass.R: "Cholesky" etc now inherit from MatrixFactorization.
1975 :    
1976 :     * src/lgCMatrix.c (ncsc_to_matrix): renamed from lcsc_to_matrix()
1977 :     which is implemented.
1978 :    
1979 : maechler 1565 2006-09-15 Martin Maechler <maechler@stat.math.ethz.ch>
1980 :    
1981 : maechler 1571 * src/chm_common.c: coerce logical <-> double instead of
1982 :     typecasting; needed for "l" matrix handling in cholmod.
1983 : maechler 1565
1984 : maechler 1571 * tests/other-pkgs.R (graph): small extension in "graph" checks.
1985 :    
1986 : maechler 1565 * R/sparseMatrix.R (graphNEL -> Tsparse): method for weight case.
1987 :     (Tsp2grNEL): other fixes needed
1988 :    
1989 : maechler 1548 2006-09-11 Martin Maechler <maechler@stat.math.ethz.ch>
1990 :    
1991 :     * R/AllClass.R ("nMatrix"): and subclasses for "nonzero pattern"
1992 :     Matrices, since "lMatrix", also "lsparseM" can have NA
1993 :     * R/ndenseMatrix.R, etc: new source files
1994 :     * man/nsparseMatrix-classes.Rd, etc: new help files
1995 :     * tests/: adaptions
1996 :     * src/chm_common.c (chm_dense_to_SEXP): and others:
1997 :     new 'Rkind' argument: "l*" and "d*" both use CHOLMOD_REAL
1998 : maechler 1582 * src/Csparse.c, etc: ditto
1999 : maechler 1548
2000 : bates 1546 2006-09-11 Douglas Bates <bates@R-project.org>
2001 :    
2002 :     * src/Mutils.[ch],init.c inst/include/*.h: Move the
2003 :     alloc_d**Matrix functions to the lme4 package.
2004 :    
2005 : bates 1543 2006-09-09 Douglas Bates <bates@R-project.org>
2006 :    
2007 :     * src/dsCMatrix.c (dsCMatrix_Cholesky): igoring LDL = FALSE now
2008 : maechler 1544 fixed
2009 : bates 1543
2010 : maechler 1544 2006-09-09 Martin Maechler <maechler@stat.math.ethz.ch>
2011 :    
2012 : maechler 1548 * R/lMatrix.R: new
2013 :    
2014 : maechler 1544 * R/sparseMatrix.R (Tsp2grNEL): do not yet use graph::foo()
2015 :    
2016 :     * R/dgeMatrix.R: do not define tcrossprod() methods for "matrix"
2017 : maechler 1582 * man/tcrossprod.Rd: ditto
2018 : maechler 1544
2019 : bates 1538 2006-09-08 Douglas Bates <bates@stat.wisc.edu>
2020 :    
2021 :     * inst/include/Matrix_stubs.c,Matrix.h: Add declarations and stubs
2022 :     for exported functions
2023 :     * src/Makefile, src/CHOLMOD/Lib/Makefile, src/Metis,CAMD,CCOLAMD:
2024 :     Remove partitioning algorithms for sparse matrix reordering. The
2025 :     copyright on the Metis code was problematic and the methods were
2026 :     rarely used.
2027 :     * src/triplet_to_col.[ch],MMHB.[ch]: Remove triplet_to_col. Such
2028 :     operations are now done entirely in CHOLMOD code.
2029 :    
2030 : bates 1517 2006-09-06 Douglas Bates <bates@R-project.org>
2031 :    
2032 :     * src/Mutils.h: Remove functions that are no longer used.
2033 :    
2034 : bates 1507 2006-09-04 Douglas Bates <bates@R-project.org>
2035 :    
2036 :     * src/dtCMatrix.c (dtCMatrix_validate): rename functions.
2037 :     * src/DEPS.mkf: update
2038 :    
2039 : maechler 1481 2006-09-02 Martin Maechler <maechler@stat.math.ethz.ch>
2040 :    
2041 :     * created branches/Matrix-for-R-2.3.x; on trunk: do
2042 :     * DESCRIPTION (Version): 0.9975-0
2043 :     (Depends): R (>= 2.4.0)
2044 :    
2045 : bates 1475 2006-09-01 Douglas Bates <bates@R-project.org>
2046 :    
2047 :     * R/sparseMatrix.R: Added direct method to CsparseMatrix from graphNEL
2048 :    
2049 : maechler 1472 2006-09-01 Martin Maechler <maechler@stat.math.ethz.ch>
2050 :    
2051 :     * R/sparseMatrix.R: add coercion from "ANY" to "sparseMatrix"
2052 :     * R/denseMatrix.R: add coercion from "ANY" to "denseMatrix"
2053 :    
2054 :     * R/Matrix.R ([): use nargs() to disambiguate M[i] and M[i,]
2055 :    
2056 :     2006-08-31 Martin Maechler <maechler@stat.math.ethz.ch>
2057 :    
2058 :     * R/sparseMatrix.R (Arith): moved Arith group method one-level up
2059 :     from "dsparse" to "sparse" and now go via "Csparse" instead of "dgC"
2060 : maechler 1582 * R/dsparseMatrix.R: ditto
2061 :     * R/Csparse.R: ditto
2062 : maechler 1472
2063 :     2006-08-31 Martin Maechler <maechler@stat.math.ethz.ch>
2064 :    
2065 :     * R/dMatrix.R (Compare): improve availability of "<", etc
2066 :     * R/Auxiliaries.R (asTuniq): new; also make use of R 2.4.x print(*,max)
2067 :    
2068 : maechler 1467 2006-08-30 Martin Maechler <maechler@stat.math.ethz.ch>
2069 :    
2070 :     * R/dgCMatrix.R: aargh: "Arith(<dgC>, numeric)" was wrong because
2071 :     of a 0-index which was used as 1-index (..hmm)
2072 :    
2073 :     * R/sparseMatrix.R (prSpMatrix): fix printing an all-0 sparse Matrix
2074 :    
2075 :     * R/Auxiliaries.R (all0, is0): for 0-testing in presence of NA's
2076 :     * R/Auxiliaries.R (isTriMat): use all0() for 0-testing.
2077 : maechler 1582 (.is.diagonal): ditto
2078 : maechler 1467
2079 :     * R/lgTMatrix.R: as("matrix", "lgTMatrix"): warn about NA's
2080 :    
2081 :     * R/Matrix.R (Matrix): also work for NA data
2082 :    
2083 : maechler 1455 2006-08-28 Martin Maechler <maechler@stat.math.ethz.ch>
2084 :    
2085 :     * R/Matrix.R (Matrix): + 'forceCheck' argument; dimnames setting
2086 :     in all cases.
2087 :    
2088 : bates 1453 2006-08-27 Douglas Bates <bates@R-project.org>
2089 :    
2090 :     * src/dense.[ch],init.c, R/ddenseMatrix.R, man/band.Rd
2091 :     (ddense_band): Added triu, tril and band for ddenseMatrix objects.
2092 :    
2093 : maechler 1447 2006-08-25 Martin Maechler <maechler@stat.math.ethz.ch>
2094 :    
2095 :     * src/Mutils.c (dup_mMatrix_as_dgeMatrix): added all subclasses of
2096 :     subclasses of "ddenseMatrix"
2097 :     * src/init.c et al: outcomment dtrM*_as_dge* and dsyM*_as_dge*_
2098 :     * R/ddenseMatrix.R et al: setAs("ddenseMatrix", "dgeMatrix", ..)
2099 :     instead of half dozen specialized ones.
2100 :    
2101 : bates 1445 2006-08-25 Douglas Bates <bates@R-project.org>
2102 :    
2103 :     * R/lmer.R (qqmath method): Bug fix provided by Emmanuel Tillard
2104 :     <tillard@cirad.fr> - ordering standard errors to match effects.
2105 :    
2106 : bates 1439 2006-08-24 Douglas Bates <bates@R-project.org>
2107 : bates 1431
2108 : bates 1439 * src/lsCMatrix.c (lsCMatrix_trans): Remove lsCMatrix_chol based
2109 :     on R_ldl.
2110 :     * R/lCholCMatrix.R,
2111 :     src/[dl]CholCMatrix.[ch],R_ldl.[ch],Metis_utils.[ch]: removed
2112 :     * src/dsCMatrix.c (dsCMatrix_to_dgTMatrix): use CHOLMOD
2113 :     * many files in ./R and ./src: Use more general version of
2114 :     dup_mMatrix_as_dgeMatrix to simplify method definitions.
2115 : bates 1442 * src/Mutils.c (dup_mMatrix_as_dgeMatrix): Add ddiMatrix,
2116 :     dtpMatrix, dspMatrix and dppMatrix conversions.
2117 :    
2118 : maechler 1447
2119 : bates 1439 2006-08-23 Douglas Bates <bates@R-project.org>
2120 :    
2121 :     * R/AllClass.R,lCholCMatrix.R,src/SOURCES_C.mkf,init.c,NAMESPACE:
2122 :     Remove classes lCholCMatrix and dCholCMatrix based on R_ldl code.
2123 : bates 1431 * src/dgeMatrix.c: Ensure 'factors' slot exists in result of
2124 :     dgeMatrix_crossprod (may need to do this in other places).
2125 :     * R/AllGeneric.R,dsCMatrix.R, src/dscMatrix.[ch]: Add Cholesky
2126 :     generic and method for dsCMatrix. Use CHOLMOD for chol().
2127 :    
2128 : bates 1414 2006-08-22 Douglas Bates <bates@R-project.org>
2129 :    
2130 :     * src/Mutils.c (dup_mMatrix_as_dgeMatrix): updated for general
2131 :     types of classed Matrices, matrices or numeric or logical vectors.
2132 : bates 1423 * src/init.c: register dup_mMatrix_as_dgeMatrix for coercions.
2133 :     * src/chm_common.c,Mutils.h (as_cholmod_factor): Move check_class
2134 :     to Mutils.h (as an inline) and change name to Matrix_check_class;
2135 :     fixes in as_cholmod_factor and chm_factor_to_SEXP.
2136 :     * src/dsCMatrix.[ch]: Use CHOLMOD for dsCMatrix_chol and
2137 :     dsCMatrix_matrix_solve. Comment out vestigial functions.
2138 :     * src/Csparse.c: use diag_P and uplo_P macros.
2139 : maechler 1447
2140 : bates 1405 2006-08-21 Douglas Bates <bates@R-project.org>
2141 :    
2142 :     * src/lmer.c (internal_mer_RZXinv): Fix memory leak caught by
2143 : maechler 1447 valgrind.
2144 : bates 1411 * tests/matprod.R: Add tests to verify that 'solve' and '%*%' are
2145 :     inverses.
2146 :     * src/sparseQR.c (sparseQR_validate): add new validation test, fix
2147 :     -Wall warnings.
2148 :     * src/dppMatrix.c,dtrMatrix.c,dgCMatrix.c,dgeMatrix.c,dspMatrix.c:
2149 :     Use dup_mMatrix_as_dgeMatrix.
2150 : maechler 1447
2151 : bates 1403 2006-08-20 Douglas Bates <bates@R-project.org>
2152 :    
2153 :     * src/sparseQR.c: Fix thinko in sparseQR_resid_fitted.
2154 :     * tests/sparseQR.R: Added
2155 :     * man/sparseQR-class.Rd: Document methods for qr.* generics
2156 :     * R/sparseQR.R: Return correct # of coefs; fix cut-and-paste errors
2157 :    
2158 : bates 1398 2006-08-19 Douglas Bates <bates@R-project.org>
2159 :    
2160 :     * NAMESPACE, R/sparseQR.R, src/init.c,sparseQR.[ch],SOURCES_C.mkf:
2161 :     Added methods for sparseQR for qr.qy, qr.qty, qr.coef, qr.resid
2162 :     and qr.fitted.
2163 :     * src/Mutils.[ch]: Added dup_mMatrix_as_dgeMatrix utility
2164 :     * src/dgCMatrix.c: Check for ordering before storing q in dgCMatrix_QR
2165 :    
2166 : maechler 1389 2006-08-18 Martin Maechler <maechler@stat.math.ethz.ch>
2167 :    
2168 :     * R/AllGeneric.R: add "qr" and "chol" generics; via 'trick' since
2169 :     the base version has no "..." argument.
2170 :    
2171 :     * R/sparseMatrix.R (prSpMatrix): fix the triangular unit diagonal case.
2172 :    
2173 :     * R/Matrix.R: define and
2174 :     * NAMESPACE: export as.numeric() and as.logical() methods.
2175 :     Let's hope these do not badly slow down something...
2176 :     Finally export the zapsmall() method.
2177 :    
2178 : bates 1388 2006-08-17 Douglas Bates <bates@R-project.org>
2179 :    
2180 :     * src/dgCMatrix.[ch] (dgCMatrix_matrix_solve), src/init.c,
2181 :     R/dgCMatrix.R: solve methods for dgCMatrix and dense RHS.
2182 :     * src/dtCMatrix.c :Remove code that is no longer used
2183 :     * R/dtCMatrix.R: Use C code for diagU2N in CsparseMatrix classes
2184 :    
2185 : bates 1370 2006-08-14 Douglas Bates <bates@R-project.org>
2186 :    
2187 : bates 1373 * src/Csparse.[ch],init.c (Csparse_to_logical): Added utilities
2188 :     Csparse_to_logical and Csparse_symmetric_to_general.
2189 :     * R/dgCMatrix.R,dsCMatrix.R,Csparse.R : Consolidate general
2190 : maechler 1389 coercion methods between CsparseMatrix and TsparseMatrix.
2191 : bates 1373
2192 :     2006-08-14 Douglas Bates <bates@R-project.org>
2193 :    
2194 : bates 1370 * R/dtCMatrix.R,dgCMatrix.R,Csparse.R src/init.c,dgCMatrix.[ch],
2195 :     Csparse.[ch],chm_common.c,dense.c : Use CHOLMOD code and methods
2196 :     for CsparseMatrix, TsparseMatrix, denseMatrix or matrix when
2197 :     possible.
2198 :    
2199 : bates 1368 2006-08-12 Douglas Bates <bates@R-project.org>
2200 :    
2201 :     * src/chm_common.[ch],Csparse.[ch],Tsparse.[ch],CHMfactor.c,dtTMatrix.c,
2202 :     dgTMatrix.c,dgCMatrix.c,dsCMatrix.c,dtTMatrix.c, R/dsTMatrix.R,
2203 :     Tsparse.R,Csparse.R,dgTMatrix.R,dsCMatrix.R,lsCMatrix.R:
2204 :     generalize conversions between TsparseMatrix, CsparseMatrix,
2205 :     denseMatrix and matrix. Preserve triangularity property and
2206 :     propagate Dimnames in the easy cases.
2207 :    
2208 : bates 1365 2006-08-10 Douglas Bates <bates@R-project.org>
2209 :    
2210 :     * src/lmer.c: adjust checks in glmer_init for S4SXP
2211 :     * tests/validObj.R: check of all(eq) should be all(eq@x) - worked
2212 :     before S4SXP but for the wrong reasons.
2213 :    
2214 : bates 1354 2006-08-08 Douglas Bates <bates@R-project.org>
2215 :    
2216 : bates 1360 * src/Csparse.c (Csparse_crossprod): tcrossprod result has stype = -1.
2217 :     Later modified to return the upper triangle only.
2218 :     * R/dgTMatrix.R: Remove vestigial crossprod and tcrossprod methods.
2219 : maechler 1389
2220 : bates 1352 2006-08-07 Douglas Bates <bates@R-project.org>
2221 :    
2222 :     * src/Csparse.c (Csparse_crossprod): Set stype on result to avoid
2223 :     R-level conversion to a sparse symmetric class.
2224 :     * R/Tsparse.R,R/Csparse.R (crossprod and tcrossprod methods):
2225 :     Remove conversion to sparse symmetric classes (now done in C code).
2226 :    
2227 : maechler 1349 2006-08-07 Martin Maechler <maechler@stat.math.ethz.ch>
2228 :    
2229 : maechler 1351 * R/dgCMatrix.R: disable old crossprod and tcrossprod methods
2230 :     * man/band.Rd: adapt the \dontshow{} unit test.
2231 :    
2232 :     2006-08-07 Martin Maechler <maechler@stat.math.ethz.ch>
2233 :    
2234 : maechler 1349 * DESCRIPTION (Version): 0.995-14 for CRAN
2235 :    
2236 :     * tests/other-pkgs.R: oops: library(Matrix) outside *if* !
2237 :    
2238 :     * R/sparseMatrix.R (Tsp2grNEL): fixed Tsparse -> graph coercion
2239 :     * tests/other-pkgs.R: more checks, sparseMatrix -> graph
2240 :    
2241 :     * R/Auxiliaries.R (as_Tsparse, as_Rsparse): new
2242 :     * R/Tsparse.R (tril, triu, band): methods
2243 : bates 1352 * R/dgRMatrix.R (tril, ...): ditto
2244 :     * man/band.Rd: ditto
2245 : maechler 1349
2246 :     2006-08-04 Martin Maechler <maechler@stat.math.ethz.ch>
2247 :    
2248 :     * R/Matrix.R (head, tail): directly use utils:::head.matrix
2249 :     to be up-to-date automatically.
2250 :    
2251 : maechler 1346 2006-08-03 Martin Maechler <maechler@stat.math.ethz.ch>
2252 :    
2253 :     * DESCRIPTION (Version): 0.995-13 to be released to CRAN
2254 :    
2255 :     * DESCRIPTION (Lazydata): no, instead of 'yes' because it fails for:
2256 :     * data/CAex.R, inst/external/CAex_slots.rda: replacing data/CAex.rda
2257 :     * data/KNex.R, inst/external/KNex_slots.rda: replacing data/KNex.rda
2258 :     such that the S4 objects are always created by the current version
2259 :     of R and 'Matrix' class definitions.
2260 :    
2261 : bates 1342 2006-08-01 Douglas Bates <bates@R-project.org>
2262 :    
2263 :     * R/lmer.R (LMEoptimize method), tests/lmer.R,
2264 : maechler 1346 inst/external/test3comp.rda: Added warnings for convergence on
2265 : bates 1342 boundary and test cases.
2266 :    
2267 :     * src/lmer.c (mer_postVar): Modified to return the variances that
2268 :     are marginal to the fixed effects, not conditional on them (which
2269 :     is what the bVar slot contents represent).
2270 :    
2271 : bates 1338 2006-07-31 Douglas Bates <bates@R-project.org>
2272 :    
2273 :     * NAMESPACE, src/lmer.c, R/lmer.R (hatTrace): Add the hatTrace
2274 :     function which calls the C function mer_hat_trace2.
2275 : maechler 1346
2276 : bates 1342 * man/ranef.Rd: Include description of "postVar" argument and
2277 :     producing a caterpillar plot.
2278 : bates 1338
2279 : maechler 1335 2006-07-31 Martin Maechler <maechler@stat.math.ethz.ch>
2280 :    
2281 :     * NAMESPACE: change "correlation" to "corMatrix"
2282 :     * R/AllClass.R: to avoid clash with S3 class in 'nlme'.
2283 : bates 1352 * R/dpoMatrix.R: ditto
2284 :     * R/lmer.R: ditto
2285 : maechler 1335
2286 : bates 1338 2006-07-28 Douglas Bates <bates@R-project.org>
2287 :    
2288 :     * src/lmer.c (internal_mer_RZXinv): Split the calculation of the
2289 :     RZXinv slot's contents into a separate internal function that can
2290 :     be used in mer_hat_trace.
2291 :    
2292 : maechler 1331 2006-07-22 Martin Maechler <maechler@stat.math.ethz.ch>
2293 :    
2294 :     * R/Matrix.R: Coercions "Matrix" -> (sparse|dense)Matrix
2295 :     via new smart
2296 :     * R/Auxiliaries.R (as_Csparse, as_dense, .M.shapse): new
2297 :     utility functions.
2298 :    
2299 :    
2300 : maechler 1330 2006-07-21 Martin Maechler <maechler@stat.math.ethz.ch>
2301 :    
2302 : maechler 1331 * R/Csparse.R (tril, triu, band): do return *triangular* classed
2303 :     matrices when appropriate; band() even symmetric ones.
2304 :     (replCmat): extend to potentially all "CsparseMatrix"
2305 :     * R/Tsparse.R (replTmat): extend to all "TsparseMatrix"; hence
2306 :     allow subassignment for special sparse matrices.
2307 :    
2308 :     * R/Auxiliaries.R (as_geClass): factor out the .M.kind() functionality
2309 :    
2310 : maechler 1330 * src/lmer.c (mer_MCMCsamp, glmer_MCMCsamp): new 'verbose'
2311 :     argument; in glmer_*(): print only if(verbose).
2312 :    
2313 :     speed-optimize a few places by moving REAL(.) out of loops.
2314 :    
2315 :     * src/lmer.h, src/init.h, R/lmer.R: related to above.
2316 :    
2317 : maechler 1329 2006-07-20 Martin Maechler <maechler@stat.math.ethz.ch>
2318 :    
2319 :     * R/Matrix.R("["): disable ("Matrix", i = "logical", j = "missing"),
2320 :     since that wrongly triggers also for M[ logi , ]
2321 :    
2322 :     * R/denseMatrix.R: "[" methods now also work e.g. when indexing
2323 :     a symmetric matrix that results in a non-symmetric one.
2324 :     * R/Auxiliaries.R (as_geClass): new function used in "[" above.
2325 :    
2326 :     * R/dMatrix.R: make round(M) work as round(M, 0)
2327 :    
2328 :     * R/dgTMatrix.R (image): coordinate system and axis now use
2329 :     1-based indices, not 0-based ones.
2330 :    
2331 :     * R/Tsparse.R (.ind.prep for "["): get rid of max(<empty>) warning.
2332 :     * tests/indexing.R: test it.
2333 :    
2334 :     * NAMESPACE: export isSymmetric(); has been a generic in "base" for a while;
2335 :     * man/isSymmetric-methods.Rd: and document it.
2336 :    
2337 :     * R/SparseM-conv.R: added coercion methods for some 'SparseM' matrices.
2338 :     * man/SparseM-conv.Rd: docu them
2339 :    
2340 :     * tests/other-pkgs.R: renamed from tests/graph.R and add example
2341 :     for 'SparseM' conversions
2342 :    
2343 :     2006-07-17 Douglas Bates <Douglas.Bates@R-project.org>
2344 :    
2345 :     * R/Matrix.R (head): added head() and tail() methods.
2346 :    
2347 :     2006-07-17 Martin Maechler <maechler@stat.math.ethz.ch>
2348 :    
2349 :     * DESCRIPTION (Version): 0.995-12 released to CRAN
2350 :    
2351 : maechler 1319 2006-07-15 Martin Maechler <maechler@stat.math.ethz.ch>
2352 :    
2353 :     * tests/simple.R: add check for correct dsT -> dgT coercion;
2354 :     add check for correct printing of symmetric sparse matrices.
2355 :    
2356 :     * R/Auxiliaries.R (non0ind): return *all* non-0 entry indices also
2357 :     for sparse symmetric matrices.
2358 :    
2359 :     * src/dsTMatrix.c (dsTMatrix_as_dgTMatrix): do not copy the
2360 :     diagonal twice.
2361 :    
2362 : bates 1316 2006-07-11 Douglas Bates <Douglas.Bates@R-project.org>
2363 :    
2364 :     * src/dsTMatrix.c (dsTMatrix_as_dgTMatrix): Fix a case of INTEGER
2365 : maechler 1319 being applied to the x slot (detected by Brian Ripley).
2366 : bates 1316
2367 : maechler 1315 2006-07-10 Martin Maechler <maechler@stat.math.ethz.ch>
2368 :    
2369 :     * src/dgCMatrix.c (dgCMatrix_validate): 'p' slot must have correct length.
2370 :    
2371 :     * R/Auxiliaries.R (isTriC): fix buglet (we were 1-based!)
2372 :    
2373 :     2006-07-08 Martin Maechler <maechler@stat.math.ethz.ch>
2374 :    
2375 :     * src/lgCMatrix.c (lgCMatrix_diag): new function
2376 :     * R/lgCMatrix.R (diag): for new method
2377 :    
2378 :     * R/AllClass.R (TsparseMatrix): do use Tsparse_validate
2379 :     ==> construction of illegal "*gTMatrix" via new() should
2380 :     now be much less easy:
2381 :     * tests/Class+Meth.R: assertError() for some illegal "dgT*"
2382 :    
2383 :     * R/Matrix.R (Matrix): Matrix(0, nrow,ncol) now "goes sparse"
2384 :     directly.
2385 :     * man/Matrix.Rd: documents it.
2386 :    
2387 : bates 1311 2006-07-06 Douglas Bates <bates@R-project.org>
2388 :    
2389 :     * src/pedigree.c (pedigree_inbreeding): Correction in
2390 :     initialization. This function is not currently being used and is
2391 :     not fully tested.
2392 :    
2393 : bates 1312 * NAMESPACE, R/{AllClass.R,lmer.R}, src/{init.c,lmer.c}:
2394 :     Introduced the glmer class. Added code for mcmcmsamp on glmer
2395 :     objects. Modified validity check on pedigree objects to account
2396 :     for nonparallel patterns of missingness of parents.
2397 : bates 1311
2398 : bates 1313 * man/{lmer-class.Rd,mcmcsamp.Rd}: Update documentation for glmer
2399 :     class.
2400 : maechler 1315
2401 :     2006-07-01 Martin Maechler <maechler@stat.math.ethz.ch>
2402 :    
2403 :     * R/pMatrix.R: coercion pMatrix -> Tsparse
2404 :    
2405 : bates 1300 2006-06-12 Douglas Bates <bates@R-project.org>
2406 :    
2407 : maechler 1319 * DESCRIPTION (Version): 0.995-11 released to CRAN
2408 :    
2409 : bates 1300 * R/lmer.R (mcmcsamp method): Corrected arrangments of names on
2410 :     the output from mcmcsamp.
2411 :    
2412 : bates 1298 2006-06-10 Douglas Bates <bates@R-project.org>
2413 :    
2414 : bates 1300 * R/lmer.R (simulestimate): added C code for calculating the trace
2415 :     of the hat matrix.
2416 : bates 1298
2417 : maechler 1295 2006-06-09 Martin Maechler <maechler@stat.math.ethz.ch>
2418 :    
2419 :     * R/diagMatrix.R (setAs): define coercion methods to sparse matrix
2420 :     classes.
2421 : maechler 1315 * R/sparseMatrix.R etc: multiplication of diagonal and sparse
2422 : maechler 1295
2423 : maechler 1290 2006-06-08 Martin Maechler <maechler@stat.math.ethz.ch>
2424 :    
2425 :     * R/dgTMatrix.R (colSums): etc. All four of
2426 :     colSums(), rowSums(), colMeans(), rowMeans() now should work for
2427 :     all "Matrices".
2428 :    
2429 : bates 1288 2006-06-01 Douglas Bates <bates@stat.wisc.edu>
2430 :    
2431 :     * R/lmer.R (panel.ci): Add a reference line at zero and a
2432 :     background grid to the qqmath plot of ranef.lmer.
2433 :    
2434 : bates 1287 2006-05-30 Douglas Bates <bates@stat.wisc.edu>
2435 : bates 1284
2436 : bates 1287 * R/lmer.R (expandSlash): Functions (non-exported) to allow nested
2437 :     grouping factors to be specified in the formula as (1|foo/bar).
2438 :    
2439 :     2006-05-27 Douglas Bates <bates@stat.wisc.edu>
2440 :    
2441 : bates 1284 * R/lmer.R (findbars and others): Change check of is.numeric to
2442 :     !is.language to resolve the bug reported by Jacob Wegelin.
2443 :    
2444 :     * src/pedigree.c (pedigree_inbreeding): Initial implementation of
2445 :     code to evaluate inbreeding coefficients without calculating T,
2446 :     based on code in Sargolzaei and Iwaisaki's paper.
2447 :    
2448 : bates 1283 2006-05-27 Douglas Bates <bates@stat.wisc.edu>
2449 :    
2450 :     * R/{lmer.R,AllGeneric.R}, src/{init.c,lmer.[ch]}: Added local
2451 :     generic and mer methods for isNested and denomDF. This denomDF was
2452 :     an attempt to emulate that in lme but I don't think that makes
2453 :     sense. Use the trace of the hat matrix instead.
2454 :    
2455 : maechler 1271 2006-05-17 Martin Maechler <maechler@stat.math.ethz.ch>
2456 :    
2457 :     * R/sparseMatrix.R: Matrix <-> graph methods: can no longer use
2458 :     the C code depending on a slot structure that's no longer valid.
2459 : bates 1352 * src/dgTMatrix.c: ditto (also: src/init.c src/dgTMatrix.h)
2460 : maechler 1271
2461 :    
2462 : bates 1268 2006-05-17 Douglas Bates <bates@stat.wisc.edu>
2463 :    
2464 :     * R/{AllGeneric.R,Csparse.R},man/band.Rd,NAMESPACE: changed name
2465 :     of lowerTriMatrix generic and methods to tril (also upper to triu)
2466 :     and added a general band extractor.
2467 :    
2468 : bates 1267 2006-05-16 Douglas Bates <bates@stat.wisc.edu>
2469 :    
2470 :     * R/pedigree.R (pedigree): Replace sire and dam values outside the
2471 :     allowable range with NAs. Added a corresponding check in the
2472 :     validity check for the pedigree class.
2473 :    
2474 :     * R/[CT]sparse.R ([t]crossprod): The result of single-argument
2475 :     crossprod methods now inherits from symmetricMatrix.
2476 :    
2477 : bates 1265 2006-05-15 Douglas Bates <bates@stat.wisc.edu>
2478 :    
2479 :     * R/AllGeneric.R (lowerTriMatrix): Added (but did not export)
2480 :     generics lowerTriMatrix and upperTriMatrix along with methods for
2481 :     the Csparse virtual class. Also added a C function Csparse_band
2482 :     that implements these methods by calling cholmod_band.
2483 :    
2484 : maechler 1264 2006-05-15 Martin Maechler <maechler@stat.math.ethz.ch>
2485 :    
2486 :     * R/Tsparse.R ("["): column or row subsetting; @Dimnames[k] got
2487 :     erased when it was NULL. This led to invalid subselections!
2488 :    
2489 : bates 1259 2006-04-25 Douglas Bates <bates@stat.wisc.edu>
2490 :    
2491 :     * R/dtCMatrix.R: avoid coercion of dtCMatrix object to dgCMatrix
2492 :     in method for "t" so as not to lose the unit diagonal property.
2493 :    
2494 : bates 1257 2006-04-19 Douglas Bates <bates@stat.wisc.edu>
2495 :    
2496 :     * R/lmer.R, R/AllGeneric.R, NAMESPACE: Remove the postVar generic
2497 :     and methods. This is now an option to the ranef method for the
2498 :     mer class.
2499 :    
2500 :     * src/cs_utils.c: Ensure that the nz component is -1 for a
2501 :     compressed column-oriented matrix. Minor formatting cleanup.
2502 :    
2503 :     * man/lmer-class.Rd: Document the qqmath method for ranef.lmer
2504 :     objects.
2505 :    
2506 : maechler 1253 2006-04-19 Martin Maechler <maechler@stat.math.ethz.ch>
2507 :    
2508 :     * R/Auxiliaries.R (diagU2N): new for the solve() methods in
2509 :     * R/dtCMatrix.R: where dgC -> dgT coercion now preserves diag = "U".
2510 :    
2511 : bates 1251 2006-04-15 Douglas Bates <bates@stat.wisc.edu>
2512 :    
2513 :     * src/cs.[ch],src/cs_utils.[ch] : Added Tim Davis' CSparse library
2514 :     in cs.[ch] and utilities to interface to that code in cs_utils.[ch].
2515 :    
2516 :     * R/dtCMatrix.R, src/dtCMatrix.[ch] : CSparse-based solve methods
2517 :     for the dtCMatrix class.
2518 : maechler 1253
2519 : bates 1247 2006-04-12 Douglas Bates <bates@stat.wisc.edu>
2520 :    
2521 :     * R/pedigree.R, R/AllClass.R, NAMESPACE: added a pedigree class
2522 :     and methods for it.
2523 :    
2524 : maechler 1245 2006-04-12 Martin Maechler <maechler@stat.math.ethz.ch>
2525 :    
2526 :     * R/dgCMatrix.R: add storage.mode(.) <- "double" for "matrix"
2527 :     arguments, such that M %*% 1:6 now works
2528 :     * Tests/matprod.R: test the above
2529 :    
2530 : bates 1244 2006-04-03 Douglas Bates <bates@stat.wisc.edu>
2531 : bates 1243
2532 :     * R/lmer.R (qqmath,ranef.lmer-method): added a qqmath method for
2533 :     the ranef.lmer class.
2534 :    
2535 :     * R/AllClass.R, NAMESPACE, R/lmer.R: Added a postVar generic and
2536 :     methods to extract the posterior variances from the bVar slot.
2537 :    
2538 : maechler 1238 2006-03-30 Martin Maechler <maechler@stat.math.ethz.ch>
2539 :    
2540 :     * R/dtCMatrix.R: allow coercion from dgC* to triangular (dtC*)
2541 :     * R/dsCMatrix.R: and symmetric (dsC*) 'Csparse' matrices.
2542 :    
2543 :     * R/Tsparse.R: Tsparse* -> Csparse* coercion now works and is tested in
2544 :     * tests/simple: (extended)
2545 :    
2546 :     * R/sparseMatrix.R (isTriangular): now using much improved
2547 :     * R/Auxiliaries.R (isTriC): new triangularity check for *CMatrix
2548 :    
2549 : bates 1236 2006-03-23 Douglas Bates <bates@stat.wisc.edu>
2550 :    
2551 :     * src/dsyMatrix.c (dsyMatrix_as_dspMatrix): Propagate DimNames
2552 :     (problem report from Franklin Parlamis). This should be done
2553 : maechler 1238 generally.
2554 : bates 1236
2555 : bates 1234 2006-03-21 Douglas Bates <bates@stat.wisc.edu>
2556 :    
2557 :     * R/AllClass.R,lmer.R: Change the name of the lmer.ranef class to
2558 :     ranef.lmer (like summary.lmer). Add the coef.lmer class and
2559 :     update the plot methods.
2560 :    
2561 : bates 1232 2006-03-20 Douglas Bates <bates@stat.wisc.edu>
2562 :    
2563 :     * R/lmer.R (resid and ranef methods): Added methods for the
2564 :     "residuals" and "resid" generic but only for linear mixed model
2565 :     fits. Changed the ranef method to return a list of data frames so
2566 :     that the plot methods now work.
2567 :    
2568 : bates 1230 2006-03-16 Douglas Bates <bates@bates2>
2569 :    
2570 :     * src/dpoMatrix.c (dpoMatrix_chol): Require n > 0 in call to
2571 :     dpotrf - otherwise the BLAS on Mac OS X complains and quits.
2572 :    
2573 :     * DESCRIPTION (Date): New release
2574 :    
2575 : maechler 1228 2006-03-15 Martin Maechler <maechler@stat.math.ethz.ch>
2576 :    
2577 :     * DESCRIPTION (Version): 0.995-6 -- to be released to CRAN
2578 :    
2579 :     * data/KNex.rda: replacing 'mm' and 'y' by KNex <- list(mm=mm, y=y)
2580 :     * man/KNex.Rd: and other help files
2581 :     * tests/*.R: several ones needed adaption
2582 : bates 1352 * inst/doc/Comparisons.Rnw: ditto
2583 : maechler 1228
2584 : maechler 1226 2006-03-11 Martin Maechler <maechler@stat.math.ethz.ch>
2585 :    
2586 :     * R/dgCMatrix.R (replCmat): "[<-" methods for dgCMatrix
2587 :    
2588 :     * tests/indexing.R: tests for new [<- methods for sparse matrices.
2589 :    
2590 :     2006-03-10 Martin Maechler <maechler@stat.math.ethz.ch>
2591 :    
2592 :     * R/dgTMatrix.R (replTmat): "[<-" methods for dgTMatrix
2593 :    
2594 :     * R/Tsparse.R (.ind.prep): fix out-of-range indexing
2595 :    
2596 :     2006-03-08 Martin Maechler <maechler@stat.math.ethz.ch>
2597 :    
2598 :     * R/dMatrix.R: enable things like M [ M < 10 ]
2599 :     * R/dgeMatrix.R: implement it
2600 :    
2601 : maechler 1222 2006-03-06 Martin Maechler <maechler@stat.math.ethz.ch>
2602 :    
2603 :     * R/AllClass.R: define "summary.mer" and "*.lmer"
2604 :     * R/lmer.R (summary): summary(<mer>) computes & returns the above;
2605 :     * R/lmer.R (show): now works with summary()
2606 :    
2607 :     2006-03-04 Martin Maechler <maechler@stat.math.ethz.ch>
2608 :    
2609 :     * R/dgCMatrix.R: finally direct "Arith" dgC o dgC
2610 :     * R/Auxiliaries.R (WhichintersectInd): and other utilities to
2611 :     support the above
2612 :    
2613 : bates 1213 2006-02-07 Douglas Bates <bates@stat.wisc.edu>
2614 :    
2615 :     * R/lmer.R (lmer): fix initial values of offset and weights for glm.fit.
2616 :     Use glmFit$prior.weights for weights in a glmm.
2617 :     Allow an option usePQL = FALSE to skip the PQL steps for the
2618 :     Laplace method (and, in time, the AGQ method).
2619 :    
2620 :     * src/lmer.c (mer_factor): Move downdating and factoring of XtX
2621 :     into a separate function internal_mer_Xfactor to be able to call
2622 :     it from internal_bhat.
2623 :    
2624 : maechler 1200 2006-01-23 Martin Maechler <maechler@stat.math.ethz.ch>
2625 :    
2626 :     * tests/Class+Meth.R (tstMatrixClass): function for much better
2627 :     testing; now again of all actual classes.
2628 :    
2629 :     * src/Mutils.c (MAKE_TRIANGULAR_BODY, MAKE_SYMMETRIC_BODY):
2630 :     use macros and define make_d_matrix_* and make_i_matrix_*
2631 :     where _i_ is for the ldense routines:
2632 :    
2633 :     * src/ldense.c (ltrMatrix_as_lgeMatrix): provide functions
2634 :     * src/ldense.c (lsyMatrix_as_lgeMatrix):
2635 :    
2636 :     * R/ldenseMatrix.R: use the above in setAs(*,"lgeMatrix")
2637 :    
2638 :    
2639 : maechler 1174 2006-01-16 Martin Maechler <maechler@stat.math.ethz.ch>
2640 :    
2641 :     * R/Matrix.R (Matrix): has become much "smarter" now auto-producing
2642 :     many different kinds of matrices.
2643 :     * R/*.R: quite a few new methods were needed for R CMD check with
2644 :     new Matrix(). Very good for users playing around.
2645 :    
2646 :    
2647 : maechler 1165 2006-01-15 Martin Maechler <maechler@stat.math.ethz.ch>
2648 :    
2649 :     * src/dgeMatrix.c (dMatrix_validate): new
2650 :     * src/Mutils.c (dense_nonpacked_validate): new
2651 :    
2652 :     * src/dtrMatrix.c (dtrMatrix_validate): improved/fixed
2653 :    
2654 :    
2655 :     2006-01-14 Douglas Bates <bates@stat.wisc.edu>
2656 :    
2657 :     * R/AllClass.R (compMatrix), (generalMatrix): new virtual classes
2658 :    
2659 : bates 1123 2006-01-07 Douglas Bates <bates@stat.wisc.edu>
2660 : bates 1119
2661 : maechler 1127 * DESCRIPTION (Version): 0.99-6 released to CRAN
2662 :    
2663 : bates 1119 * src/dgBCMatrix.c (cscb_trcbsm): Fix due to Peter Dalgaard for
2664 :     segfault in cases with multiple non-nested grouping factors.
2665 :    
2666 : maechler 1109 2006-01-03 Martin Maechler <maechler@stat.math.ethz.ch>
2667 :    
2668 :     * DESCRIPTION (Version): 0.99-4 to be released to CRAN
2669 :     (Depends): also on 'utils'
2670 :    
2671 :     * R/AllClass.R (diagonalMatrix): new class with "ddi*" and "ldi*"
2672 :     * R/diagMatrix.R (Diagonal): constructor and methods for
2673 :     diagonal matrices
2674 :    
2675 :     * R/ltTMatrix.R: new "minimal methods"
2676 :    
2677 : maechler 1091 2005-12-12 Martin Maechler <maechler@stat.math.ethz.ch>
2678 :    
2679 :     * R/AllGeneric.R (tcrossprod): 2-argument version; here, and for
2680 :     all methods (and help files).
2681 :    
2682 : maechler 1084 2005-12-09 Martin Maechler <maechler@stat.math.ethz.ch>
2683 :    
2684 :     * R/Auxiliaries.R (dimNamesCheck): fixed thinko -> bug
2685 :     for case (dimn. op no_dimn.)
2686 :    
2687 :     2005-11-14 Douglas Bates <bates@stat.wisc.edu>
2688 :    
2689 : maechler 1174 * DESCRIPTION (Version): 0.99-2 released to CRAN
2690 : maechler 1084
2691 : bates 988 2005-10-21 Douglas Bates <bates@stat.wisc.edu>
2692 :    
2693 :     * R/lmer.R (simulate method): Fixed a drop=FALSE problem reported
2694 :     by Julian Faraway.
2695 :    
2696 : maechler 976 2005-10-06 Martin Maechler <maechler@stat.math.ethz.ch>
2697 :    
2698 :     * R/Auxiliaries.R (try_as): new utility
2699 :     * R/sparseMatrix.R: use try_as() in coercion to original class
2700 :    
2701 : maechler 956 2005-09-30 Martin Maechler <maechler@stat.math.ethz.ch>
2702 :    
2703 :     * src/dgCMatrix.c (double_to_csc): and dgeMatrix_to_csc()
2704 :    
2705 :     2005-09-29 Martin Maechler <maechler@stat.math.ethz.ch>
2706 :    
2707 :     * R/Auxiliaries.R (dimNamesCheck): added
2708 :    
2709 :     * R/Matrix.R (as.array), (as.vector): new
2710 :    
2711 : maechler 954 2005-09-28 Martin Maechler <maechler@stat.math.ethz.ch>
2712 :    
2713 :     * R/Matrix.R (Matrix): get logical argument 'sparse' with a smart
2714 : maechler 956 default.
2715 :     * R/AllClass.R: move 'factors' slot toplevel "Matrix";
2716 :     "pMatrix" now contains "sparseMatrix"
2717 : maechler 954
2718 : maechler 948 2005-09-26 Martin Maechler <maechler@stat.math.ethz.ch>
2719 :    
2720 :     * tests/Class+Meth.R: new tests; t(t(m)) == m
2721 :    
2722 :     * src/dtCMatrix.c (tsc_transpose): add forgotten "diag" slot
2723 :    
2724 :     * src/dsTMatrix.c (dsTMatrix_as_dsCMatrix): bad typo (segfault!)
2725 :     * src/dtTMatrix.c (dtTMatrix_as_dtCMatrix): new
2726 :    
2727 :     * R/dspMatrix.R: typo in "t" method
2728 :    
2729 : maechler 925 2005-09-18 Douglas Bates <bates@wisc.edu>
2730 :    
2731 :     * R/AllClass.R (TsparseMatrix), CsparseM* and RsparseM*
2732 :     * R/Tsparse.R: instead of R/gTMatrix.R
2733 :     * R/Csparse.R: new
2734 :     * src/Tsparse.c (Tsparse_to_Csparse): new; -> cholmod_()
2735 :     * src/Tsparse.c: new; many trivial methods calling cholmod_()
2736 :     * src/Csparse.c (Csparse_to_Tsparse), transpose, (mat|cross)prod:
2737 :     via cholmod
2738 :    
2739 :     2005-09-16 Martin Maechler <maechler@stat.math.ethz.ch>
2740 :    
2741 :     * R/Auxiliaries.R (non0ind): new function using new C code
2742 :     * src/dgCMatrix.c (compressed_non_0_ij): new utility
2743 :    
2744 : bates 917 2005-09-15 Douglas Bates <bates@localhost.localdomain>
2745 :    
2746 :     * src/chm_common.h: header file required by all C sources that
2747 : maechler 1174 call CHOLMOD functions. It defines a cholmod_common structure
2748 : bates 917 called 'c' whose address is passed as the last argument to
2749 :     (virtually) every CHOLMOD function.
2750 :    
2751 :     * src/Pattern.c: Simple example of the use of CHOLMOD.
2752 :    
2753 :     * src/init.c: initialize and finalize the cholmod_common structure.
2754 :    
2755 :     * src/Makefile: Added source packages CHOLMOD UMFPACK AMD COLAMD
2756 :     LDL and CCOLAMD from the U. of Florida sparse matrix library.
2757 :    
2758 : maechler 908 2005-09-08 Martin Maechler <maechler@stat.math.ethz.ch>
2759 :    
2760 :     * inst/test-tools.R: new file collecting the utility functions used
2761 :     in ./tests/*.R
2762 :    
2763 :     * R/ddenseMatrix.R (cbind2): new methods for "numeric" and "matrix"
2764 :     * R/Matrix.R (cbind2): methods for NULL and missing
2765 :    
2766 : maechler 886 2005-08-31 Martin Maechler <maechler@stat.math.ethz.ch>
2767 :    
2768 :     * R/AllClass.R: new "index" class for "[" and "[<-":
2769 :     First cut at "symmetricMatrix" and "triangularMatrix"
2770 :     * R/gTMatrix.R (.ind.prep): new function;
2771 : maechler 1174 Logical and character indexing now work too.
2772 : maechler 886 * R/Matrix.R: cheap "[<-" methods for denseMatrix now work
2773 :     * tests/indexing.R: new, including *.Rout.save
2774 :     * tests/dgTMatrix.R: new
2775 :    
2776 : bates 876 2005-08-29 Douglas Bates <bates@wisc.edu>
2777 :    
2778 :     * src/dgTMatrix.c (graphNEL_as_dgTMatrix): Corrected the position
2779 :     indicator pos not being updated. Also enforced upper triangular
2780 :     for symmetric case. Need to coerce edges component of elements of
2781 :     edge list - grr! (Why don't they define their classes cleanly?)
2782 :    
2783 : maechler 871 2005-08-26 Martin Maechler <maechler@stat.math.ethz.ch>
2784 :    
2785 :     * R/Matrix.R: added first "[<-" methods; not yet functional
2786 : bates 1352 * R/denseMatrix.R: ditto
2787 : maechler 871 * man/Subassign-methods.Rd: new help file for these
2788 :    
2789 :     2005-08-25 Martin Maechler <maechler@stat.math.ethz.ch>
2790 :    
2791 :     * DESCRIPTION (Version): 0.98-6
2792 :    
2793 :     * R/denseMatrix.R: new file for "[" fallback methods for all dense
2794 :     matrices.
2795 :    
2796 : maechler 868 2005-08-19 Martin Maechler <maechler@stat.math.ethz.ch>
2797 :    
2798 :     * src/lgCMatrix.c (lcsc_to_matrix): new; need for
2799 :     as( <logical>, "matrix")
2800 :    
2801 :     * R/pMatrix.R: coercion to "lgTMatrix"
2802 :    
2803 :     * R/gTMatrix.R: new virtual class to define "[" methods for.
2804 :     * man/gTMatrix-class.Rd:
2805 :     * General slight re-organization of where "[" methods are defined.
2806 :     more to come.
2807 :    
2808 : maechler 871 2005-08-18 Douglas Bates <bates@wisc.edu>
2809 : maechler 868
2810 : maechler 1174 * DESCRIPTION (Version): 0.98-5 released to CRAN
2811 : maechler 871
2812 :     * src/dgTMatrix.c (graphNEL_as_dgTMatrix): add first graphNEL methods
2813 :     * .....
2814 :    
2815 : bates 863 2005-08-18 Douglas Bates <bates@localhost.localdomain>
2816 :    
2817 :     * R/lmer.R: Corrected naming scheme in mcmcsamp to work with lmer
2818 :     or glmer objects.
2819 :    
2820 : maechler 860 2005-08-17 Martin Maechler <maechler@stat.math.ethz.ch>
2821 :    
2822 :     * DESCRIPTION (Version): 0.98-4 : upload to CRAN
2823 :    
2824 :     2005-08-16 Douglas Bates <bates@localhost.localdomain>
2825 :    
2826 :     * R/HBMM.R: finish re-writing R-only code.
2827 :    
2828 : bates 854 2005-08-15 Douglas Bates <bates@localhost.localdomain>
2829 :    
2830 :     * man/externalFormats.Rd: move documentation for writeHB and
2831 :     writeMM here.
2832 :    
2833 :     * src/mmio.c: replace inclusion of <malloc.h> by <stdlib.h>
2834 :     (suggested by Paul Roecker).
2835 :    
2836 :     * tests/validObj.R (assertError): Comment out test that is failing
2837 :     after recent changes in r-devel.
2838 :    
2839 : maechler 860
2840 : maechler 848 2005-08-11 Martin Maechler <maechler@stat.math.ethz.ch>
2841 :    
2842 :     * R/AllClass.R: intermediate virtual class "denseMatrix"
2843 :     * man/denseMatrix-class.Rd
2844 :     * NAMESPACE: export it, and also export
2845 :     * man/unused-classes.Rd: "iMatrix", "zMatrix" and "ldenseMatrix"
2846 :    
2847 : bates 846 2005-08-10 Douglas Bates <bates@wisc.edu>
2848 :    
2849 : maechler 848 * DESCRIPTION (Version): 0.98-3 to CRAN
2850 :    
2851 : bates 846 * src/dtrMatrix.c (dtrMatrix_validate): fixed up validation and
2852 :     matrix_solve code (which was really, really wrong).
2853 :    
2854 : bates 835 2005-08-07 Douglas Bates <bates@wisc.edu>
2855 : maechler 834
2856 :     * DESCRIPTION (Version): 0.98-2
2857 :    
2858 :     * R/HBMM.R (readHB), (readMM): read Matrix Market formats
2859 :    
2860 :     * R/lmer.R (abbrvNms): new
2861 :     * R/lmer.R (mcmcsamp): allow transformed parameters
2862 : bates 835 * src/HBMM.c (Matrix_writeMatrixMarket): Added read/write routines
2863 :     for the Harwell-Boeing and the MatrixMarket formats.
2864 : maechler 834
2865 :     2005-08-04 Martin Maechler <maechler@stat.math.ethz.ch>
2866 :    
2867 :     * man/dtrMatrix-class.Rd: add examples
2868 : bates 835 * man/dtpMatrix-class.Rd: ditto; plus note about PROBLEM
2869 : maechler 834
2870 :     * TODO: note the dtpMatrix (docu) bug
2871 :    
2872 :     * R/zzz.R (.onLoad): assignInNamespace("as.matrix", *, "base")
2873 :     in order to ensure that new as.matrix() is used by old functions,
2874 :     e.g., svd(), qr(), eigen(), dist(),..;
2875 :     apply(), also matplot() or pairs().
2876 :    
2877 :    
2878 :     2005-08-03 Martin Maechler <maechler@stat.math.ethz.ch>
2879 :    
2880 :     * R/lmer.R: add 'fixme' comments and move the linear vs glm check;
2881 :     add comments about 'control' / lmerControl() arguments
2882 :    
2883 : bates 835 2005-07-27 Douglas Bates <bates@wisc.edu>
2884 : bates 820
2885 : bates 835 * man/sleepstudy.Rd: Added the sleep data set.
2886 : maechler 1174 * DESCRIPTION (Version): 0.98-1 released to CRAN
2887 : bates 820
2888 : bates 835 2005-07-12 Douglas Bates <bates@wisc.edu>
2889 : maechler 834 * man/sleepstudy.Rd: Added the sleep data set.
2890 :    
2891 : bates 809 * R/lmer.R (glmmMCMC): Added PACKAGE = "Matrix" in a couple of
2892 :     .Call calls that were producing spurious output.
2893 :    
2894 : bates 835 2005-07-05 Douglas Bates <bates@wisc.edu>
2895 : bates 801
2896 :     * R/lmer.R (lmer): stored updated variance component estimates in
2897 :     mer object for the generalized model. (Bug reported by Renaud
2898 :     Lancelot).
2899 :    
2900 : bates 835 2005-07-03 Douglas Bates <bates@wisc.edu>
2901 : bates 794
2902 :     * src/lmer.c (glmer_devAGQ): Added AGQ for single grouping factor,
2903 :     unidimensional case.
2904 :    
2905 : bates 835 2005-06-08 Douglas Bates <bates@wisc.edu>
2906 : maechler 791
2907 :     * DESCRIPTION (Version): 0.96-1
2908 :    
2909 : maechler 1174 * moved lmer-class' R and C code moved from lme4 to here
2910 : maechler 791
2911 : bates 835 2005-06-04 Douglas Bates <bates@wisc.edu>
2912 : bates 763
2913 :     * R/dgCMatrix.R: Call to csc_matrix_mm used undefined arguments
2914 :     (reported by Guissepe Ragusa <gragusa@ucsd.edu>)
2915 :    
2916 : bates 835 2005-06-02 Douglas Bates <bates@wisc.edu>
2917 : bates 763
2918 :     * src/Makefile.win: Forgot to update this when Makefile changed.
2919 :    
2920 : bates 835 2005-05-11 Douglas Bates <bates@wisc.edu>
2921 : bates 726
2922 :     * src/dgCMatrix.c (csc_transpose): Simplified function fixing a
2923 :     bug reported by Kurt Hornik and Michael Hahsler.
2924 :    
2925 : bates 835 2005-05-10 Douglas Bates <bates@wisc.edu>
2926 : bates 725
2927 :     * src/lgCMatrix.c (Matrix_lgClgCmm): Implementation of methods for
2928 :     logical sparse matrices. These will also be used in the symbolic
2929 :     analysis for lmer objects.
2930 :    
2931 :     * src/dsCMatrix.c (dsCMatrix_matrix_solve): Copied the dimensions
2932 :     of b to the result. Fixes bug reported by Jean.Coursol@math.u-psud.fr
2933 : maechler 791
2934 : bates 835 2005-05-06 Douglas Bates <bates@wisc.edu>
2935 : bates 714
2936 :     * src/dgeMatrix.c (dgeMatrix_colsums): Added an implementation of
2937 :     colMeans, colSums, rowMeans and rowSums.
2938 :    
2939 : bates 835 2005-04-18 Douglas Bates <bates@wisc.edu>
2940 : bates 692
2941 :     * src/lgCMatrix.[ch]: code for _validate method and stub for
2942 :     multiplication operation.
2943 :    
2944 :     * src/dgeMatrix.c (dgeMatrix_matrix_solve): Passing wrong argument
2945 :     to dgetrs.
2946 :    
2947 :     * src/init.c: Fix cut-and-paste error in definition of
2948 :     dgeMatrix_matrix_solve
2949 :    
2950 :     * src/{many files}: Tighten code by using ALLOC_SLOT.
2951 :    
2952 : bates 835 2005-04-15 Douglas Bates <bates@wisc.edu>
2953 : bates 692
2954 :     * R/AllClass.R: Add lgTMatrix and lgCMatrix classes
2955 :    
2956 :     * DESCRIPTION: Eliminate import of stats.
2957 :    
2958 : maechler 791
2959 : bates 835 2005-04-06 Douglas Bates <bates@wisc.edu>
2960 : bates 692
2961 :     * R/AllClass.R : add logical sparse matrix classes
2962 :    
2963 : maechler 687 2005-04-01 Martin Maechler <maechler@stat.math.ethz.ch>
2964 :    
2965 :     * R/dgTMatrix.R: add "[" method for triplet matrices
2966 :     * R/sparseMatrix.R: and other sparse ones; --> add show() for sparse
2967 :    
2968 : bates 835 2005-03-31 Douglas Bates <bates@wisc.edu>
2969 : maechler 687
2970 :     * DESCRIPTION (Version): release 0.95-5 to CRAN
2971 :    
2972 :     * R/dMatrix.R: add %*%, crossprod and solve "fallback" methods
2973 :     * R/sparseMatrix.R: %*%, crossprod()
2974 :     * R/dgeMatrix.R: more "fallback" methods for numeric/dense matrices
2975 :     * man/*.Rd: move method definitions to 'Matrix' and 'dMatrix'
2976 :     * src/lmer.c (lmer_fitted): fix thinko
2977 :    
2978 : maechler 676 2005-03-26 Martin Maechler <maechler@stat.math.ethz.ch>
2979 :    
2980 :     * R/AllClass.R: add two virtual sparse classes ``on top''
2981 :    
2982 :     2005-03-24 Martin Maechler <maechler@stat.math.ethz.ch>
2983 :    
2984 :     * R/AllClass.R (setClass): use "VIRTUAL" for the virtual classes;
2985 :     correspondingly fix examples and tests/ since new()
2986 :     doesn't work for virtual classes.
2987 :    
2988 : maechler 658 2005-03-17 Martin Maechler <maechler@stat.math.ethz.ch>
2989 :    
2990 :     * R/Matrix.R (as.matrix): method and one for unname()
2991 :     * tests/dpoMatrix.R: tests should now be less platform dependent;
2992 :     also run for R 2.1.0; using as.matrix()
2993 :    
2994 : bates 835 2005-03-15 Douglas Bates <bates@wisc.edu>
2995 : maechler 658
2996 :     * R/pMatrix.R: "pMatrix" class added
2997 :     * ....
2998 :    
2999 : bates 835 2005-03-14 Douglas Bates <bates@wisc.edu>
3000 : bates 645
3001 :     * R/dtpMatrix.R: Add unpack method and an example.
3002 :    
3003 :     * src/dsyMatrix.c (dsyMatrix_trf): Add BunchKaufman factorization
3004 :     of general symmetric matrices and associated S4 methods.
3005 :    
3006 : maechler 658 2005-03-10 Martin Maechler <maechler@stat.math.ethz.ch>
3007 :     +
3008 :     2005-03-05 Martin Maechler <maechler@stat.math.ethz.ch>
3009 :    
3010 :     * R/dgeMatrix.R (setAs): and many other files: more coercion,
3011 :     crossprod() and "%*%" methods added; tests, too.
3012 :     * tests/matprod.R: new, for testing these
3013 :    
3014 : bates 835 2005-03-03 Douglas Bates <bates@wisc.edu>
3015 : bates 599
3016 :     * src/lmer.c (lmer_fitted): Added.
3017 :    
3018 : bates 835 2005-03-02 Douglas Bates <bates@wisc.edu>
3019 : bates 596
3020 :     * R/dsTMatrix.R: Conversion from dsTMatrix to dsCMatrix
3021 :    
3022 : bates 835 2005-02-28 Douglas Bates <bates@wisc.edu>
3023 : bates 582
3024 :     * src/*.c,po/,inst/po: Internationalization and localization of
3025 :     the package.
3026 :    
3027 :     * src/ldl.[ch]: Removed these as their contents are referenced in the
3028 :     R_ldl.c file.
3029 :    
3030 :     * src/flame.[ch]: Removed these source files.
3031 : maechler 658
3032 : bates 582 * src/dtrMatrix.c (make_array_triangular): Move to Mutils
3033 :    
3034 :     * src/LU.[ch],src/init.c: absorb in factorizations
3035 :    
3036 :     * src/Mutils.h: prepare for internationalization
3037 :    
3038 :     * src/cblas.h: move the enum definitions to Mutils.h and remove
3039 :     this file
3040 :    
3041 : maechler 578 2005-02-26 Martin Maechler <maechler@stat.math.ethz.ch>
3042 :    
3043 : maechler 579 * R/dgeMatrix.R: provide "dimnames" and "dimnames<-" methods
3044 :    
3045 :     * R/dtrMatrix.R: fix t() method
3046 :    
3047 : maechler 578 * R/dgeMatrix.R: define group methods "Arith", "Math", "Math2"
3048 : maechler 658 * NAMESPACE: export them (and import generics from "methods")
3049 : maechler 578 * tests/group-methods.R : and test them.
3050 :    
3051 :     * src/dtrMatrix.c (dtrMatrix_as_dgeMatrix): prevent seg.fault in
3052 :     border case
3053 :    
3054 :     2005-02-24 Douglas Bates <bates@stat.wisc.edu>
3055 :    
3056 : maechler 658 * DESCRIPTION (Version): 0.95-2 released to CRAN
3057 : maechler 578
3058 :     * src/dgBCMatrix.c:
3059 :     * src/lmer.c: many changes
3060 :     * ...
3061 :    
3062 : maechler 512 2005-02-04 Martin Maechler <maechler@stat.math.ethz.ch>
3063 :    
3064 :     * R/Matrix.R: add more sophisticated show() method.
3065 :    
3066 : maechler 578 2005-02-02 Douglas Bates <bates@stat.wisc.edu>
3067 :    
3068 :     * */* : almost complete reorganization of classes.
3069 :    
3070 : bates 835 2005-01-26 Douglas Bates <bates@wisc.edu>
3071 : bates 460
3072 :     * R/AllGeneric.R: Added matrix exponential generic expm and a method
3073 :     for the geMatrix class.
3074 :    
3075 : bates 835 2005-01-24 Douglas Bates <bates@wisc.edu>
3076 : bates 460
3077 :     * src/Makefile (clean): Remove *.a and *.so
3078 :    
3079 :     * man/cscBlocked-class.Rd: Remove reference to the lmer-class.
3080 :    
3081 : bates 835 2005-01-23 Douglas Bates <bates@wisc.edu>
3082 : bates 460
3083 : maechler 658 * src/lmer.c (Lind): Definition of Lind was backwards. This only
3084 : bates 460 had an effect in cases with more than 2 grouping factors.
3085 :    
3086 : bates 835 2005-01-03 Douglas Bates <bates@wisc.edu>
3087 : bates 415
3088 :     * src/lmeRep.c (lmer_variances): change from lmeRep to lmer
3089 :    
3090 : bates 835 2004-12-23 Douglas Bates <bates@wisc.edu>
3091 : bates 410
3092 :     * src/init.c (R_init_Matrix): Reorder calls to R_registerRoutines
3093 :     and R_useDynamicSymbols (suggested by B.D.Ripley).
3094 :    
3095 : bates 835 2004-12-14 Douglas Bates <bates@wisc.edu>
3096 : bates 392
3097 :     * R/sscMatrix.R: Add determinant methods
3098 :    
3099 :     * src/triplet.[ch],src/init.c (triplet_to_matrix): Add a coercion
3100 :     for tripletMatrix to matrix.
3101 :    
3102 : bates 835 2004-12-13 Douglas Bates <bates@wisc.edu>
3103 : bates 388
3104 : bates 392 * R/AllClass.R (.onLoad): Eliminate the bbCrosstab class, which is
3105 :     no longer used.
3106 :    
3107 : bates 388 * src/R_ldl.c: Created an R-specific version of the ldl.[ch] files
3108 :     with dynamic allocation of scratch arrays.
3109 :    
3110 :     * src/ssclme.c (ssclme_copy_ctab): Fixed bug in creation of ZtZ
3111 :     for multivariate random effects with multiple grouping factors.
3112 :     Fixes part but not all of #15.
3113 :    
3114 : bates 835 2004-12-03 Douglas Bates <bates@wisc.edu>
3115 : bates 375
3116 :     * src/lmeRep.c (lmeRep_factor): order of operations for multiple
3117 :     scalar grouping factors corrected.
3118 :    
3119 : bates 835 2004-11-29 Douglas Bates <bates@wisc.edu>
3120 : bates 375
3121 :     * src/bCrosstab.c: remove diag_update which is no longer used
3122 :    
3123 : bates 835 2004-11-16 Douglas Bates <bates@wisc.edu>
3124 : bates 350
3125 :     * src/Metis_utils.c: Move metis.h include to C sources so that the
3126 :     .h file can be included.
3127 :    
3128 : bates 835 2004-11-12 Douglas Bates <bates@wisc.edu>
3129 : bates 342
3130 : bates 350 * src/LU.c,geMatrix.c,trMatrix.c, etc.:
3131 : bates 342 Complete allocation of slots in NEW_OBJECT.
3132 :    
3133 :     * src/Mutils.h: Moved list of symbols to an include file
3134 :    
3135 : bates 835 2004-11-11 Douglas Bates <bates@wisc.edu>
3136 : bates 342
3137 :     * src/geMutils.c (Matrix_init): remove unused function
3138 :    
3139 : bates 835 2004-11-10 Douglas Bates <bates@wisc.edu>
3140 : bates 342
3141 :     * src/cscMatrix.c (csc_to_imagemat): removed unused function
3142 :    
3143 : bates 835 2004-11-05 Douglas Bates <bates@wisc.edu>
3144 : bates 327
3145 :     * src/Makefile.win (SOURCES_C): Keep consistent with Makefile
3146 :    
3147 : bates 835 2004-10-27 Douglas Bates <bates@wisc.edu>
3148 : bates 303
3149 :     * R/pdmatrix.R: remove PACKAGE="Matrix" in .Call calls
3150 :    
3151 : bates 835 2004-10-04 Douglas Bates <bates@wisc.edu>
3152 : bates 296
3153 :     * src/init.c: Created R_init_Matrix and added registration of C
3154 :     routines.
3155 :    
3156 : bates 835 2004-10-02 Douglas Bates <bates@wisc.edu>
3157 : bates 283
3158 :     * R/tripletMatrix.R: Force a require(lattice) for the image methods.
3159 :    
3160 : bates 835 2004-06-15 Douglas Bates <bates@wisc.edu>
3161 : bates 229
3162 :     * man/trMatrix-class.Rd: Escape the % chars in .Rd files.
3163 :    
3164 : bates 111 2004-04-20 Douglas Bates <bates@stat.wisc.edu>
3165 :    
3166 :     * src/Makefile.win ($(SHLIB)): Modifications per Uwe Ligges.
3167 :    
3168 : bates 109 2004-04-19 Douglas Bates <bates@stat.wisc.edu>
3169 :    
3170 :     * src/ssclme.c (ssclme_update_mm): fix logic error in
3171 :     ssclme_update_mm
3172 :    
3173 : bates 105 2004-04-18 Douglas Bates <bates@stat.wisc.edu>
3174 :    
3175 :     * src/ssclme.c (ssclme_coef, ssclme_coefGets): Create consistency
3176 :     in the order of unconstrained and constrained parameters.
3177 :     (ssclme_gradient): Added the gradients (not yet correct for
3178 :     multidimensional, unconstrained case).
3179 :    
3180 : bates 78 2004-04-14 Douglas Bates <bates@stat.wisc.edu>
3181 :    
3182 :     * src/ssclme.c (ssclme_EMsteps): Fix logic in REML update
3183 :    
3184 :     * src/Makefile.win: Remove unneeded ranlib call
3185 :    
3186 : bates 71 2004-04-12 Douglas Bates <bates@stat.wisc.edu>
3187 :    
3188 :     * DESCRIPTION (Version): New release
3189 :    
3190 :     * src/Makefile.win: Update Makefile.win to umfpack removal.
3191 :    
3192 : bates 49 2004-04-05 Douglas Bates <bates@bates2_home>
3193 :    
3194 :     * src/triplet_to_col.c: Create triplet_to_col as a native
3195 : maechler 658 function, not the version from umfpack. There were problems with
3196 : bates 49 the configuration of UMFPACK for 64-bit processors and there was
3197 :     only one umfpack routine being used so I moved it here.
3198 :    
3199 : bates 45 2004-04-04 Douglas Bates <bates@bates2_home>
3200 :    
3201 :     * src/ssclme.c (ssclme_variances): New function.
3202 :    
3203 : bates 28 2004-03-28 Douglas Bates <bates@bates2_home>
3204 :    
3205 :     * src/ssclme.c (ssclme_fitted): Added function.
3206 :    
3207 : bates 22 2004-03-27 Douglas Bates <bates@bates2_home>
3208 :    
3209 :     * src/ssclme.c (ssclme_transfer_dimnames): Add new function to
3210 :     store the dimnames in the XtX and bVar slots
3211 :     (ssclme_update_mm): Change the dimensions of the bVar slot
3212 :     components and the returned value from ssclme_ranef.
3213 :    
3214 : bates 10 2004-03-18 Douglas Bates <bates@stat.wisc.edu>
3215 :    
3216 :     * R/{pdMat.R,pdIdent.R,pdLogChol.R,pdMatrixLog.R,pdNatural.R},
3217 :     src/{pdMat.c,pdIdent.c,pdLogChol.c,pdNatural.c},
3218 :     tests/{pdCompSymm.R,pdDiag.R,pdIdent.R,pdLogChol.R,pdNatural.R},
3219 :     man/{pdMat-class.Rd,pdmatrix-class.Rd,corrmatrix-class.Rd,
3220 :     pdDiag-class.Rd,pdIdent-class.Rd,pdNatural-class.Rd,
3221 :     pdLogChol-class.Rd,coefGets.Rd,pdCompSymm-class.Rd,
3222 :     pdfactor-class.Rd,pdFactor.Rd,pdMatrix.Rd,
3223 :     pdBlocked-class.Rd},AllClass.R,AllGeneric.R:
3224 :     Moved the pdMat classes from the lme4 package.
3225 :    
3226 :     2004-03-02 Douglas Bates <bates@stat.wisc.edu>
3227 :    
3228 :     * man/ssclme-class.Rd: Update definition and documentation of the
3229 :     ssclme class to include the DIsqrt slot.
3230 :    
3231 :     * src/ssclme.c (ssclme_deviance): Modify order of computation
3232 :     (much faster using dsyrk, a level 3 BLAS routine).
3233 :    
3234 :     * src/Makefile (SUBLIBS): Change definition (K. Hornik)
3235 :    
3236 :     2004-02-28 Douglas Bates <bates@stat.wisc.edu>
3237 :    
3238 :     * tests/ssclme.R: Modify the test to account for the permutation
3239 :     of the levels of the grouping factors.
3240 :    
3241 :     2004-02-23 Douglas Bates <bates@stat.wisc.edu>
3242 :    
3243 :     * R/ssclme.R,src/ssclme.c (ssclme): Move slots of sscCrosstab slot
3244 :     directly into the ssclme class definition.
3245 :    
3246 :     2004-02-22 Douglas Bates <bates@stat.wisc.edu>
3247 :    
3248 :     * DESCRIPTION (Date): New release
3249 :    
3250 :     * man/ssclme-class.Rd: new file.
3251 :    
3252 :     * src/ssclme.c (ssclme_loglik): major revisions in design. It
3253 :     works and it's fast!
3254 :    
3255 :     2004-02-17 Douglas Bates <bates@stat.wisc.edu>
3256 :    
3257 :     * src/taucs/Makefile.win (lib): Change "ar" to "$(AR)" (B.Ripley)
3258 :    
3259 :     2004-02-16 Douglas Bates <bates@stat.wisc.edu>
3260 :    
3261 :     * DESCRIPTION (Date): New release
3262 :    
3263 :     * NAMESPACE: Don't export ssclme.
3264 :    
3265 :     * data/ScotsSec.rda, man/ScotsSec.Rd: Add Scottish secondary
3266 :     school data.
3267 :    
3268 :     2004-02-11 Douglas Bates <bates@stat.wisc.edu>
3269 :    
3270 :     * src/sscCrosstab.c (sscCrosstab): Added a row to the incidence to
3271 :     keep track of the fixed-effects and the response. Counts also
3272 :     gets an extra element, which is always one.
3273 :    
3274 :     * src/ldl.c: Include these routines from Tim Davis' LDL package.
3275 :    
3276 :     2004-02-10 Douglas Bates <bates@stat.wisc.edu>
3277 :    
3278 :     * src/cscMatrix.c (csc_transpose): new function
3279 :    
3280 :     * src/Mutils.c (csc_sort_columns): perm/iperm confusion corrected
3281 :     (csc_components_transpose): new function
3282 :    
3283 :     2004-02-06 Douglas Bates <bates@stat.wisc.edu>
3284 :    
3285 :     * src/triplet.c (triplet_validate): Fix Dim slot on generated
3286 :     triplets
3287 :    
3288 :     2004-01-30 Douglas Bates <bates@stat.wisc.edu>
3289 :    
3290 :     * R/sscCrosstab.R (sscCrosstab): Added sscCrosstab generator function.
3291 :    
3292 :     * src/LU.h (MATRIX_LU_H): Add #ifndef #define ... #endif to this
3293 :     and all other .h files in src.
3294 :    
3295 :     * src/Makefile.win: This and other Makefile.win files contributed
3296 :     by Brian Ripley.
3297 :    
3298 :     2004-01-27 Douglas Bates <bates@stat.wisc.edu>
3299 :    
3300 :     * R/syMatrix.R: Added methods for "%*%".
3301 :    
3302 :     * R/Hilbert.R (Hilbert): Changed Hilbert function to return a
3303 :     poMatrix object.
3304 :    
3305 :     2004-01-26 Douglas Bates <bates@stat.wisc.edu>
3306 :    
3307 :     * man/sscChol-class.Rd,man/mm.Rd,man/y.Rd: Added man pages.
3308 :    
3309 :     2004-01-25 Douglas Bates <bates@bates2_home>
3310 :    
3311 :     * inst/doc/Introduction.Rnw,Comparisons.Rnw: Added vignettes.
3312 :    
3313 :     * R/csc.R: Convert all cscMatrix classes to use Dim slot instead
3314 :     of nrow.
3315 :    
3316 :     2003-12-31 Douglas Bates <bates@stat.wisc.edu>
3317 :    
3318 :     * src/taucs/taucs.h: Moved taucs.h, amd.h, and umfpack.h into
3319 :     subdirectories.
3320 :    
3321 :     2003-12-08 Douglas Bates <bates@stat.wisc.edu>
3322 :    
3323 :     * src/taucs.h: Accidently referred to global header files
3324 :     instead of local files.
3325 :    
3326 :     2003-12-04 Douglas Bates <bates@stat.wisc.edu>
3327 :    
3328 :     * R/AllClass.R: Lots of changes. Removed all the lapack++ code
3329 :     and methods and replaced all classes with S4 classes.
3330 :    
3331 :     2003-04-19 Douglas Bates <bates@stat.wisc.edu>
3332 :    
3333 :     * R/det.R,man/det.Rd: Change name of det generic to determinant
3334 :    
3335 :     * src/R_LapackPP.cc: Change method of calculating determinants
3336 :    
3337 :     2003-02-03 Douglas Bates <bates@stat.wisc.edu>
3338 :    
3339 :     * DESCRIPTION (Version): removed empty data directory as requested
3340 :     by CRAN maintainers. Changed version number and date.
3341 :    
3342 :     2002-10-23 Douglas Bates <bates@stat.wisc.edu>
3343 :    
3344 :     * src/laindex.h: Applied patches from Brian Ripley for compilation
3345 :     under Windows.
3346 :    
3347 :     * Added configure.win and src/Makevars.win as requested by Brian
3348 :     Ripley.
3349 :    
3350 :     2002-05-03 Douglas Bates <bates@stat.wisc.edu>
3351 :    
3352 :     * src/lamatrix.h: Removing pre-1.2.0 compatibility code per Kurt
3353 :     Hornik.
3354 :    
3355 :     2002-04-24 Douglas Bates <bates@stat.wisc.edu>
3356 :    
3357 :     * configure.ac: Replaced configure.in with configure.ac
3358 :     contributed by Kurt Hornik.
3359 :    
3360 :     * aclocal.m4 (ac_clean_files): Replaced this with Kurt Hornik's
3361 :     version for R-1.5.0
3362 :    
3363 : maechler 512
3364 : bates 10 2001-12-10 Douglas Bates <bates@stat.wisc.edu>
3365 :    
3366 :     * man/eigen.Rd: Removed the .Alias in the example

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