sum() operations



On Tue, Oct 16, 2012 at 10:30 AM, Przemek Klosowski <
przemek.klosowski at nist.gov> wrote:

> On 2012-10-12, Przemek Klosowski <przemek.klosowski at nist.gov> wrote:
> ...Shouldn't 'sum' be linear by default BTW?...
>

The name 'linear' is somewhat misleading.  It really means "always apply
the transformations f(a*X)=>a*f(X) and f(X+Y) => f(X)+f(Y)".  But it is
often the case than in a derivation it is critical *not* to make those
transformations, e.g. when cleverly rearranging X+Y.

If you want to *selectively* apply those transformations at certain points
in a derivation, global declarations don't give you very fine control.
 Maybe we should have functions like transform_outative and
transform_additive so that you can do, e.g.,
substpart(transform_outative(piece), ... ).

          -s