From: abpetrov <abp...@uf...> - 2014-08-26 17:57:07
|
I tried this rule with generalization DerivNew := { df( asum( a(i), {{i, 1, 10}}), a(~i1)) => asum_trans( asum( a(i), {{i, 1, 10}}, df, a(i1))) }$ let DerivNew$ df( asum( a(i), {{i, 1, 10}}), a(i1)); the result is 0 too. Also I tried more general rule DerivNew := { df (asum(~~f(~~y)), ~~x) => asum_trans( asum(f(y)), df, x) }$ with the same result. I am not sure that operator df applied before that rule, in this case I can not extend differentiation table with new functions. Of course, it is necessary to check this in sources. About lower. I agree with you about the incompatibility, but I don't like when variables can be written without good style with lower- and uppercase letters. It is bad to read that program in my opinion. I think the difference in one operator it is not so bad. 26.08.2014 16:44, Rainer Schöpf пишет: > On Mon, 25 Aug 2014 at 00:19 -0000, abpetrov wrote: > > > You are right, If I will differentiate function. But I did some > > substitution with the help of the rule. > > I did not any real differentiation: > > > > DerivNew := { df( asum( a(i), {{i, 1, 10}}), a(i1)) => asum_trans( asum( a(i), {{i, 1, 10}}), df, a(i1)) }$ > > But you used the df operator. A substitution rule like the above is tried > _after_ the standard differentiation. Since the latter returns 0, the rule > doesn't apply. > > You could use your own operator in place of df, but then you need to define > all properties like linearity or the product rule. > > It's much simpler to modify your rule, as I suggested in my last mail message. > > > About switch "lower". It is works with csl-version of Reduce, it is the > > same as input_case for psl-Reduce, > > If you are aware of the incompatibility, then everything is fine. > > Regards, > Rainer > |