REDUCE

7.22 Linear Operators

An operator can be declared to be linear in its first argument over powers of its second argument. If an operator f is so declared, f of any sum is broken up into sums of fs, and any factors that are not powers of the variable are taken outside. This means that f must have (at least) two arguments. In addition, the second argument must be an identifier (or more generally a kernel), not an expression.

Example:

If F were declared linear, then

        f(a*x^5+b*x+c,x) ->

                5
             f(x ,x)*a + f(x,x)*b + f(1,x)*c

More precisely, not only will the variable and its powers remain within the scope of the f operator, but so will any variable and its powers that had been declared to depend on the prescribed variable; and so would any expression that contains that variable or a dependent variable on any level, e.g. cos(sin(x)).

To declare operators f and g to be linear operators, use:

        linear f,g;

The analysis is done of the first argument with respect to the second; any other arguments are ignored. It uses the following rules of evaluation:

   

f(0) \(\longrightarrow \) 0
f(-y,x) \(\longrightarrow \) -f(y,x)
f(y+z,x) \(\longrightarrow \) f(y,x)+f(z,x)
f(y*z,x) \(\longrightarrow \) z*f(y,x) if z does not depend on x
f(y/z,x) \(\longrightarrow \) f(y,x)/z if z does not depend on x

To summarize, y “depends” on the indeterminate x in the above if either of the following hold:

1.
y is an expression that contains x at any level as a variable, e.g., cos(sin(x))
2.
Any variable in the expression y has been declared dependent on x by use of the declaration depend.

The use of such linear operators can be seen in the paper [FH74] which contains a complete listing of a program for definite integration of some expressions that arise in fourth order quantum electrodynamics.


Hosted by Download REDUCE Powered by MathJax