
           SOFIA LAPLACE AND INVERSE LAPLACE TRANSFORM PACKAGE

                   C. Kazasov, M. Spiridonova, V. Tomov


Reference:  Christomir Kazasov, Laplace Transformations in REDUCE 3, Proc.
            Eurocal '87, Lecture Notes in Comp. Sci., Springer-Verlag
            (1987) 132-133.

Some hints on how to use to use this package:

Syntax:

 LAPLACE(<exp>,<var-s>,<var-t>)

 INVLAP(<exp>,<var-s>,<var-t>)

where <exp> is the expression to be transformed, <var-s> is the source
variable (in most cases <exp> depends explicitly of this variable) and
<var-t> is the target variable. If <var-t> is omitted, the package uses
an internal variable lp!& or il!&, respectively.

The following switches can be used to control the transformations:

lmon:   If on, sin, cos, sinh and cosh are converted by LAPLACE into
        exponentials,

lhyp:   If on, expressions e**(~x) are converted by INVLAP into hyperbolic
        functions sinh and cosh,

ltrig:  If on, expressions e**(~x) are converted by INVLAP into
        trigonometric functions sin and cos.

The system can be extended by adding Laplace transformation rules for
single functions by rules or rule sets.  In such a rule the source
variable MUST be free, the target variable MUST be il!& for LAPLACE and
lp!& for INVLAP and the third parameter should be omitted.  Also rules for
transforming derivatives are entered in such a form.

Examples:

    let {laplace(log(~x),x) => -log(gam * il!&)/il!&,
         invlap(log(gam * ~x)/x,x) => -log(lp!&)};

  operator f;
  let{
    laplace(df(f(~x),x),x) => il!&*laplace(f(x),x) - sub(x=0,f(x)),

    laplace(df(f(~x),x,~n),x) => il!&**n*laplace(f(x),x) -
      for i:=n-1 step -1 until 0 sum
        sub(x=0, df(f(x),x,n-1-i)) * il!&**i
          when fixp n,

    laplace(f(~x),x) = f(il!&)
    };

Remarks about some functions:

The DELTA and GAMMA functions are known.

ONE is the name of the unit step function.

INTL is a parametrized integral function

    intl(<expr>,<var>,0,<obj.var>)

   which means "Integral of <expr> wrt <var> taken from 0 to <obj.var>",
e.g. intl(2*y**2,y,0,x) which is formally a function in x.

We recommend reading the file LAPLACE.TST for a further introduction.
