File r37/lisp/csl/html/r37_0200.html artifact 56eb699a08 part of check-in 3c4d7b69af



<A NAME=LINEAR>

<TITLE>LINEAR</TITLE></A>
<b><a href=r37_idx.html>INDEX</a></b><p><p>



<B>LINEAR</B> _ _ _  _ _ _  _ _ _  _ _ _ <B>declaration</B><P>
<P>
 
 <P>
<P>
An operator can be declared linear in its first argument over powers of 
its second argument by the declaration <em>linear.</em> 
 <P> <H3> 
syntax: </H3>
<P>
<P>
<em>linear</em>&lt;operator&gt;{<em>,</em>&lt;operator&gt;}* 
<P>
<P>
<P>
&lt;operator&gt; must have been declared to be an operator. Be careful not 
to use a system operator name, because this command may change its definition. 
The operator being declared must have at least two arguments, and the 
second one must be a 
<A HREF=r37_0002.html>kernel</A>. 
<P>
<P>
 <P> <H3> 
examples: </H3>
<P><PRE><TT>
operator f; 

linear f; 

f(0,x); 

  0 


f(-y,x); 

  - F(1,X)*Y 


f(y+z,x); 

  F(1,X)*(Y + Z) 


f(y*z,x); 

  F(1,X)*Y*Z 


depend z,x; 

f(y*z,x); 

  F(Z,X)*Y 


f(y/z,x); 

    1
  F(-,X)*Y 
    Z


depend y,x; 

f(y/z,x); 

    Y
  F(-,X) 
    Z


nodepend z,x; 

f(y/z,x); 

  F(Y,X)
  ------ 
    Z


f(2*e**sin(x),x); 

       SIN(X)
  2*F(E      ,X)

</TT></PRE><P>Even when the operator has not had its functionality attached, it 
exhibits 
linear properties as shown in the examples. Notice the difference when 
dependencies are added. Dependencies are also in effect when the operator's 
first argument contains its second, as in the last line above. 
<P>
<P>
For a fully-developed example of the use of linear operators, refer to the 
article in the &lt;Journal of Computational Physics&gt;, Vol. 14 (1974), pp. 
301-317, ``Analytic Computation of Some Integrals in Fourth Order Quantum 
Electrodynamics,&quot; by J.A. Fox and A.C. Hearn. The article includes the 
complete listing of REDUCE procedures used for this work. 
<P>
<P>
<P>


REDUCE Historical
REDUCE Sourceforge Project | Historical SVN Repository | GitHub Mirror | SourceHut Mirror | NotABug Mirror | Chisel Mirror | Chisel RSS ]