comparison src/ChangeLog @ 8964:f4f4d65faaa0

Implement sparse * diagonal and diagonal * sparse operations, double-prec only. Date: Sun, 8 Mar 2009 16:28:18 -0400 These preserve sparsity, so eye(5) * sprand (5, 5, .2) is *sparse* and not dense. This may affect people who use multiplication by eye() rather than full(). The liboctave routines do *not* check if arguments are scalars in disguise. There is a type problem with checking at that level. I suspect we want diag * "sparse scalar" to stay diagonal, but we have to return a sparse matrix at the liboctave. Rather than worrying about that in liboctave, we cope with it when binding to Octave and return the correct higher-level type. The implementation is in Sparse-diag-op-defs.h rather than Sparse-op-defs.h to limit recompilation. And the implementations are templates rather than macros to produce better compiler errors and debugging information.
author Jason Riedy <jason@acm.org>
date Mon, 09 Mar 2009 17:49:13 -0400
parents 985792c9e0da
children 42aff15e059b
comparison
equal deleted inserted replaced
8963:d1eab3ddb02d 8964:f4f4d65faaa0
96 96
97 2009-03-09 Rafael Laboissiere <rafael@debian.org> 97 2009-03-09 Rafael Laboissiere <rafael@debian.org>
98 98
99 * Makefile.in (maintainer-clean): Remove y.tab.h here. 99 * Makefile.in (maintainer-clean): Remove y.tab.h here.
100 (distclean): Not here. 100 (distclean): Not here.
101
102 2009-03-08 Jason Riedy <jason@acm.org>
103
104 * OPERATORS/op-dm-scm.cc: New file. Implement multiplication
105 between diagonal matrices (both real and complex) and complex
106 sparse matrices.
107 * OPERATORS/op-dm-sm.cc: New file. Implement multiplication
108 between diagonal matrices and sparse matrices, all real.
109 * Makefile.in (DIAG_OP_XSRC): Add op-dm-sm.cc and op-dm-scm.cc.
101 110
102 2009-03-09 Jaroslav Hajek <highegg@gmail.com> 111 2009-03-09 Jaroslav Hajek <highegg@gmail.com>
103 112
104 * data.cc (F__accumarray_sum__): New function. 113 * data.cc (F__accumarray_sum__): New function.
105 (do_accumarray_sum): New helper template function. 114 (do_accumarray_sum): New helper template function.