Codemist Standard Lisp 3.54 for DEC Alpha: May 23 1994
Dump file created: Mon May 23 10:39:11 1994
REDUCE 3.5, 15-Oct-93 ...
Memory allocation: 6023424 bytes
+++ About to read file tstlib.red
% Title: Examples of Laplace Transforms.
% Author: L. Kazasov.
% Date: 24 October 1988.
order p;
% Elementary functions with argument k*x, where x is object var.
laplace(1,x,p);
1
---
p
laplace(c,x,p);
c
---
p
laplace(sin(k*x),x,p);
k
---------
2 2
p + k
laplace(sin(x/a),x,p);
1
-----------------
-1 2 2
a *(p *a + 1)
laplace(sin(17*x),x,p);
17
----------
2
p + 289
laplace(sinh x,x,p);
1
--------
2
p - 1
laplace(cosh(k*x),x,p);
- p
------------
2 2
- p + k
laplace(x,x,p);
1
----
2
p
laplace(x**3,x,p);
6
----
4
p
off mcd;
laplace(e**(c*x) + a**x, x, s);
-1 -1
- ((log(a) - s) + (c - s) )
laplace(e**x - e**(a*x) + x**2, x, p);
-3 -1 -1
2*p + (a - p) + (p - 1)
laplace(one(k*t) + sin(a*t) - cos(b*t) - e**t, t, p);
2 2 -1 -1 2 2 -1 -1
- p*(b + p ) + p + (a + p ) *a - (p - 1)
laplace(sqrt(x),x,p);
- 3/2
1/2*sqrt(pi)*p
laplace(x**(1/2),x,p);
- 3/2
1/2*sqrt(pi)*p
on mcd;
laplace(x**(-1/2),x,p);
sqrt(pi)
----------
sqrt(p)
laplace(x**(5/2),x,p);
15*sqrt(pi)
--------------
3
8*sqrt(p)*p
laplace(-1/4*x**2*c*sqrt(x), x, p);
- 15*sqrt(pi)*c
------------------
3
32*sqrt(p)*p
% Elementary functions with argument k*x - tau,
% where k>0, tau>=0, x is object var.
laplace(cos(x-a),x,p);
p
---------------
p*a 2
e *(p + 1)
laplace(one(k*x-tau),x,p);
1
--------------
(p*tau)/k
e *p
laplace(sinh(k*x-tau),x,p);
- k
-------------------------
(p*tau)/k 2 2
e *( - p + k )
laplace(sinh(k*x),x,p);
- k
------------
2 2
- p + k
laplace((a*x-b)**c,x,p);
c
a *gamma(c + 1)
-----------------
c (p*b)/a
p *e *p
% But ...
off mcd;
laplace((a*x-b)**2,x,p);
-3 2 2 2
p *(p *b - 2*p*a*b + 2*a )
on mcd;
laplace(sin(2*x-3),x,p);
2
-------------------
(3*p)/2 2
e *(p + 4)
on lmon;
laplace(sin(2*x-3),x,p);
2
-------------------
(3*p)/2 2
e *(p + 4)
off lmon;
off mcd;
laplace(cosh(t-a) - sin(3*t-5), t, p);
- p*a 2 -1 - 5/3*p 2 -1
e *p*(p - 1) - 3*e *(p + 9)
on mcd;
% More complicated examples - multiplication of functions.
% We use here on lmon - a new switch that forces all
% trigonometrical functions which depend on object var
% to be represented as exponents.
laplace(x*e**(a*x)*cos(k*x), x, p);
2 2 2 4 3 2 2 2 2 3
(p - 2*p*a + a - k )/(p - 4*p *a + 6*p *a + 2*p *k - 4*p*a
2 4 2 2 4
- 4*p*a*k + a + 2*a *k + k )
laplace(x**(1/2)*e**(a*x), x, p);
- sqrt(pi)
-----------------------------
2*sqrt( - a + p)*( - p + a)
laplace(-1/4*e**(a*x)*(x-k)**(-1/2), x, p);
a*k
- sqrt(pi)*e
-----------------------
p*k
4*e *sqrt( - a + p)
laplace(x**(5/2)*e**(a*x), x, p);
- 15*sqrt(pi)
-------------------------------------------------
3 2 2 3
8*sqrt( - a + p)*( - p + 3*p *a - 3*p*a + a )
laplace((a*x-b)**c*e**(k*x)*const/2, x, p);
1 (b*k)/a c
- ---*e *a *gamma(c + 1)*const
2
---------------------------------------
(p*b)/a c
e *( - k + p) *( - p + k)
off mcd;
laplace(x*e**(a*x)*sin(7*x)/c*3, x, p);
2 2 -2 -1
42*(a - 2*a*p + p + 49) *c *(p - a)
on mcd;
laplace(x*e**(a*x)*sin(k*x-tau), x, p);
(a*tau)/k 2 2 2
(e *(p *tau - 2*p*a*tau + 2*p*k + a *tau - 2*a*k + k *tau))/(
(p*tau)/k 4 3 2 2 2 2 3 2
e *(p - 4*p *a + 6*p *a + 2*p *k - 4*p*a - 4*p*a*k
4 2 2 4
+ a + 2*a *k + k ))
% The next is unknown if lmon is off.
laplace(sin(k*x)*cosh(k*x), x, p);
*** Laplace for cosh(x*k)*sin(x*k) not known - try ON LMON
laplace(cosh(x*k)*sin(x*k),x,p)
laplace(x**(1/2)*sin(k*x), x, p);
*** Laplace for sqrt(x)*sin(x*k) not known - try ON LMON
laplace(sqrt(x)*sin(x*k),x,p)
on lmon;
% But now is OK.
laplace(x**(1/2)*sin(a*x)*cos(a*b), x, p);
(sqrt(pi)*cos(a*b)*( - sqrt( - a*i + p)*p + sqrt(a*i + p)*p
+ sqrt( - a*i + p)*a*i + sqrt(a*i + p)*a*i))/(4*sqrt(a*i + p)
2 2
*sqrt( - a*i + p)*i*(p + a ))
laplace(sin(x)*cosh(x), x, p);
2
p + 2
--------
4
p + 4
laplace(sin(k*x)*cosh(k*x), x, p);
2 2
k*(p + 2*k )
---------------
4 4
p + 4*k
off exp;
laplace(sin(k*x-t)*cosh(k*x-t), x, p);
2*i*t ((p + i*k + k)*t)/k
( - (e *(e *(i*k + k + p)
((p + i*k - k)*t + 2*k*t)/k
+ e *(i*k - k + p))
*(i*k + k - p)*(i*k - k - p) +
((p + i*k + k)*t + (p + i*k - k)*t)/k
e *(
( - (p - i*k + k)*t + 2*k*t)/k
e *(i*k + k - p)
- ((p - i*k - k)*t)/k
+ e *(i*k - k - p))*(i*k + k + p)
*(i*k - k + p)))/(4
((i + 1)*k*t + (p + i*k + k)*t + (p + i*k - k)*t)/k
*e
*(i*k + k + p)*(i*k + k - p)*(i*k - k + p)*(i*k - k - p)*i)
on exp;
laplace(cos(x)**2,x,p);
2
p + 2
------------
2
p*(p + 4)
laplace(c*cos(k*x)**2,x,p);
2 2
c*(p + 2*k )
---------------
2 2
p*(p + 4*k )
laplace(c*cos(2/3*x)**2, x, p);
2 8
c*(p + ---)
9
---------------
2 16
p*(p + ----)
9
laplace(5*sinh(x)*e**(a*x)*x**3, x, p);
3 2 2 3 8 7 6 2
(120*(p - 3*p *a + 3*p*a + p - a - a))/(p - 8*p *a + 28*p *a
6 5 3 5 4 4 4 2 4
- 4*p - 56*p *a + 24*p *a + 70*p *a - 60*p *a + 6*p
3 5 3 3 3 2 6 2 4 2 2
- 56*p *a + 80*p *a - 24*p *a + 28*p *a - 60*p *a + 36*p *a
2 7 5 3 8 6 4
- 4*p - 8*p*a + 24*p*a - 24*p*a + 8*p*a + a - 4*a + 6*a
2
- 4*a + 1)
off exp;
laplace(sin(2*x-3)*cosh(7*x-5), x, p);
2 11 2 11 11 (3*p + 1)/2
(p *e + p + 14*p*e - 14*p + 53*e + 53)/(e
5
*(2*i + p + 7)*(2*i + p - 7)*(2*i - p + 7)*(2*i - p - 7)*e )
on exp;
laplace(sin(a*x-b)*cosh(c*x-d), x, p);
*** Laplace for - 1/4*one(x - a**(-1)*b)*one(x - c**(-1)*d)*i**(-1) not known
*** Laplace for 1/4*one(x - a**(-1)*b)*one(x - c**(-1)*d)*i**(-1) not known
1 b*i + 2*c*x -1 -1 -1
laplace(( - ---*e *one( - a *b + x)*one( - c *d + x)*i
4
1 b*i + 2*d -1 -1 -1
- ---*e *one( - a *b + x)*one( - c *d + x)*i )/
4
a*i*x + c*x + d
e ,x,p) + laplace((
a*i*x + 2*c*x a*x - b c*x - d
e *one(---------)*one(---------)
a c
a*i*x + 2*d a*x - b c*x - d
+ e *one(---------)*one(---------))/(4
a c
b*i + c*x + d
*e *i),x,p)
% To solve this problem we must tell the program which one-function
% is rightmost shifted. However, in REDUCE 3.4, this rule is still
% not sufficient.
for all x let one(x-b/a)*one(x-d/c) = one(x-b/a);
laplace(sin(a*x-b)*cosh(c*x-d), x, p);
(2*b*c)/a 2 2*d 2 (2*b*c)/a 2*d
(a*(e *p + e *p + 2*e *p*c - 2*e *p*c
(2*b*c)/a 2 (2*b*c)/a 2 2*d 2 2*d 2
+ e *a + e *c + e *a + e *c ))/(2
(p*b + a*d + b*c)/a 4 2 2 2 2 4 2 2 4
*e *(p + 2*p *a - 2*p *c + a + 2*a *c + c )
)
for all x clear one(x-b/a)*one(x-d/c) ;
off lmon;
% Floating point arithmetic.
% laplace(3.5/c*sin(2.3*x-4.11)*e**(1.5*x), x, p);
on rounded;
laplace(3.5/c*sin(2.3*x-4.11)*e**(1.5*x), x, p);
117.461059957
----------------------------------------
1.78695652174*p 2
e *c*(p - 3.0*p + 7.54)
laplace(x**2.156,x,p);
gamma(3.156)
--------------
3.156
p
laplace(x**(-0.5),x,p);
gamma(0.5)
------------
0.5
p
off rounded;
laplace(x**(-0.5),x,p);
sqrt(pi)
----------
sqrt(p)
on rounded;
laplace(x*e**(2.35*x)*cos(7.42*x), x, p);
2
p - 4.7*p - 49.5339
---------------------------------------------------------
4 3 2
p - 9.4*p + 143.2478*p - 569.44166*p + 3669.80312521
laplace(x*e**(2.35*x)*cos(7.42*x-74.2), x, p);
3 2
(160664647206.0*p - 1.11661929808e+12*p + 1.14319162408e+13*p
10.0*p
- 2.36681205089e+13)/(e
4 3 2
*(p - 9.4*p + 143.2478*p - 569.44166*p + 3669.80312521))
% Higher precision works, but uses more memory.
% precision 20; laplace(x**2.156,x,p);
% laplace(x*e**(2.35*x)*cos(7.42*x-74.2), x, p);
off rounded;
% Integral from 0 to x, where x is object var.
% Syntax is intl(<expr>,<var>,0,<obj.var>).
laplace(c1/c2*intl(2*y**2,y,0,x), x,p);
4*c1
-------
4
p *c2
off mcd;
laplace(intl(e**(2*y)*y**2+sqrt(y),y,0,x),x,p);
-1 -3 - 3/2
p *(2*(p - 2) + 1/2*sqrt(pi)*p )
on mcd;
laplace(-2/3*intl(1/2*y*e**(a*y)*sin(k*y),y,0,x), x, p);
2 2 4 3 2 2 2 2 3
(k*( - ---*p + ---*a))/(p*(p - 4*p *a + 6*p *a + 2*p *k - 4*p*a
3 3
2 4 2 2 4
- 4*p*a*k + a + 2*a *k + k ))
% Use of delta function and derivatives.
laplace(-1/2*delta(x), x, p);
1
- ---
2
laplace(delta(x-tau), x, p);
1
--------
p*tau
e
laplace(c*cos(k*x)*delta(x),x,p);
c
laplace(e**(a*x)*delta(x), x, p);
1
laplace(c*x**2*delta(x), x, p);
0
laplace(-1/4*x**2*delta(x-pi), x, p);
1 2
- ---*pi
4
------------
p*pi
e
laplace(cos(2*x-3)*delta(x-pi),x,p);
cos(3)
--------
p*pi
e
laplace(e**(-b*x)*delta(x-tau), x, p);
1
----------------
p*tau + b*tau
e
on lmon;
laplace(cos(2*x)*delta(x),x,p);
1
laplace(c*x**2*delta(x), x, p);
0
laplace(c*x**2*delta(x-pi), x, p);
2
c*pi
-------
p*pi
e
laplace(cos(a*x-b)*delta(x-pi),x,p);
cos(a*pi - b)
---------------
p*pi
e
laplace(e**(-b*x)*delta(x-tau), x, p);
1
----------------
p*tau + b*tau
e
off lmon;
laplace(2/3*df(delta x,x),x,p);
2
---*p
3
off exp;
laplace(e**(a*x)*df(delta x,x,5), x, p);
5
- (a - p)
on exp;
laplace(df(delta(x-a),x), x, p);
p
------
p*a
e
laplace(e**(k*x)*df(delta(x),x), x, p);
p - k
laplace(e**(k*x)*c*df(delta(x-tau),x,2), x, p);
k*tau 2 2
e *c*(p - 2*p*k + k )
----------------------------
p*tau
e
on lmon;
laplace(e**(k*x)*sin(a*x)*df(delta(x-t),x,2),x,p);
k*t 1 2*a*i*t 2 1 2 2*a*i*t 2*a*i*t
(e *(---*e *p - ---*p - e *p*a*i - e *p*k
2 2
1 2*a*i*t 2 2*a*i*t
- p*a*i + p*k - ---*e *a + e *a*i*k
2
1 2*a*i*t 2 1 2 1 2 p*t + a*i*t
+ ---*e *k + ---*a + a*i*k - ---*k ))/(e *i
2 2 2
)
off lmon;
% But if tau is positive, Laplace transform is not defined.
laplace(e**(a*x)*delta(x+tau), x, p);
*** Laplace for delta(x + tau) not known - try ON LMON
a*x
laplace(e *delta(x + tau),x,p)
laplace(2*c*df(delta(x+tau),x), x, p);
*** Laplace for df(delta(x + tau),x) not known - try ON LMON
laplace(2*df(delta(x + tau),x)*c,x,p)
laplace(e**(k*x)*df(delta(x+tau),x,3), x, p);
*** Laplace for df(delta(x + tau),x,3) not known - try ON LMON
k*x
laplace(e *df(delta(x + tau),x,3),x,p)
% Adding new let rules for Laplace operator. Note the syntax.
for all x let laplace(log(x),x) = -log(gam*il!&)/il!&;
laplace(-log(x)*a/4, x, p);
1
---*log(gam*p)*a
4
------------------
p
laplace(-log(x),x,p);
log(gam*p)
------------
p
laplace(a*log(x)*e**(k*x), x, p);
log( - gam*k + gam*p)*a
-------------------------
- p + k
for all x clear laplace(log(x),x);
operator f;
for all x let
laplace(df(f(x),x),x) = il!&*laplace(f(x),x) - sub(x=0,f(x));
for all x,n such that numberp n and fixp n let
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 ;
for all x let laplace(f(x),x) = f(il!&);
laplace(1/2*a*df(-2/3*f(x)*c,x), x,p);
1 1
a*c*( - ---*p*f(p) + ---*f(0))
3 3
laplace(1/2*a*df(-2/3*f(x)*c,x,4), x,p);
1 4 1 3 1 2
a*c*( - ---*p *f(p) + ---*p *f(0) + ---*p *sub(x=0,df(f(x),x))
3 3 3
1 1
+ ---*p*sub(x=0,df(f(x),x,2)) + ---*sub(x=0,df(f(x),x,3)))
3 3
laplace(1/2*a*e**(k*x)*df(-2/3*f(x)*c,x,2), x,p);
2 2
(a*c*( - p *f( - k + p) + 2*p*f( - k + p)*k + p*f(0) - f( - k + p)*k
- f(0)*k + sub(x=0,df(f(x),x))))/3
clear f;
% Or if the boundary conditions are known and assume that
% f(i,0)=sub(x=0,df(f(x),x,i)) the above may be overwritten as:
operator f;
for all x let
laplace(df(f(x),x),x) = il!&*laplace(f(x),x) - f(0,0);
for all x,n such that numberp n and fixp n let
laplace(df(f(x),x,n),x) = il!&**n*laplace(f(x),x) -
for i:=n-1 step -1 until 0 sum il!&**i * f(n-1-i,0);
for all x let laplace(f(x),x) = f(il!&);
let f(0,0)=0, f(1,0)=1, f(2,0)=2, f(3,0)=3;
laplace(1/2*a*df(-2/3*f(x)*c,x), x,p);
1
- ---*p*f(p)*a*c
3
laplace(1/2*a*df(-2/3*f(x)*c,x,4), x,p);
1 4 1 2 2
a*c*( - ---*p *f(p) + ---*p + ---*p + 1)
3 3 3
clear f(0,0), f(1,0), f(2,0), f(3,0);
clear f;
% Very complicated examples.
on lmon;
laplace(sin(a*x-b)**2, x, p);
(p*b)/a 2 (p*b)/a 2 (p*b)/a 2
- e *p + e *p + 4*e *a
----------------------------------------------
(2*p*b)/a 2 2
2*e *p*(p + 4*a )
off mcd;
laplace(x**3*(sin x)**4*e**(5*k*x)*c/2, x,p);
-4 -4
c*(3/16*(4*i + 5*k - p) + 3/16*(4*i - 5*k + p)
-4 -4 -4
- 3/4*(2*i + 5*k - p) - 3/4*(2*i - 5*k + p) + 9/8*(5*k - p)
)
a:=(sin x)**4*e**(5*k*x)*c/2;
5*k*x 4
a := 1/2*e *sin(x) *c
laplace(x**3*a,x,p);
-4 -4
c*(3/16*(4*i + 5*k - p) + 3/16*(4*i - 5*k + p)
-4 -4 -4
- 3/4*(2*i + 5*k - p) - 3/4*(2*i - 5*k + p) + 9/8*(5*k - p)
)
clear a;
on mcd;
% And so on, but is very time consuming.
% laplace(e**(k*x)*x**2*sin(a*x-b)**2, x, p);
% for all x let one(a*x-b)*one(c*x-d) = one(c*x-d);
% laplace(x*e**(-2*x)*cos(a*x-b)*sinh(c*x-d), x, p);
% for all x clear one(a*x-b)*one(c*x-d) ;
% laplace(x*e**(c*x)*sin(k*x)**3*cosh(x)**2*cos(a*x), x, p);
off lmon;
% Error messages.
laplace(sin(-x),x,p);
***** Laplace induces one( - x) which is not allowed
laplace(0,x,p)
on lmon;
laplace(sin(-a*x), x, p);
***** Laplace induces one( - x*a) which is not allowed
laplace(0,x,p)
off lmon;
laplace(e**(k*x**2), x, p);
*** Laplace for e**(x**2*k) not known - try ON LMON
2
k*x
laplace(e ,x,p)
laplace(sin(-a*x+b)*cos(c*x+d), x, p);
*** Laplace for - cos(x*c + d)*sin(x*a - b) not known - try ON LMON
laplace( - cos(x*c + d)*sin(x*a - b),x,p)
laplace(x**(-5/2),x,p);
*** Laplace for x**( - 1/2)*x**(-2) not known - try ON LMON
- 1/2 -2
laplace(x *x ,x,p)
% With int arg, can't be shifted.
laplace(intl(y*e**(a*y)*sin(k*y-tau),y,0,x), x, p);
*** Laplace for sin(x*k - tau) not allowed
a*x
laplace(e *sin(k*x - tau)*x,x,p)
------------------------------------
p
laplace(cosh(x**2), x, p);
*** Laplace for cosh(x**2) not known - try ON LMON
2
laplace(cosh(x ),x,p)
laplace(3*x/(x**2-5*x+6),x,p);
*** Laplace for (x**2 - 5*x + 6)**(-1) not known - try ON LMON
2 -1
laplace(3*(x - 5*x + 6) *x,x,p)
laplace(1/sin(x),x,p);
*** Laplace for sin(x)**(-1) not known - try ON LMON
-1
laplace(sin(x) ,x,p)
% But ...
laplace(x/sin(-3*a**2),x,p);
- 1
--------------
2 2
p *sin(3*a )
% Severe errors.
% laplace(sin x,x,cos y);
% laplace(sin x,x,y+1);
% laplace(sin(x+1),x+1,p);
Comment Examples of Inverse Laplace transformations;
symbolic(ordl!* := nil);
% To nullify previous order declarations.
order t;
% Elementary ratio of polynomials.
invlap(1/p, p, t);
1
invlap(1/p**3, p, t);
1 2
---*t
2
invlap(1/(p-a), p, t);
t*a
e
invlap(1/(2*p-a),p,t);
1 (t*a)/2
---*e
2
invlap(1/(p/2-a),p,t);
2*t*a
2*e
invlap(e**(-k*p)/(p-a), p, t);
1
---------------
- t*a + a*k
e
invlap(b**(-k*p)/(p-a), p, t);
1
----------------------
- t*a + log(b)*a*k
e
invlap(1/(p-a)**3, p, t);
1 t*a 2
---*e *t
2
invlap(1/(c*p-a)**3, p, t);
1 (t*a)/c 2
---*e *t
2
-----------------
3
c
invlap(1/(p/c-a)**3, p, t);
1 t*a*c 2 3
---*e *t *c
2
invlap((c*p-a)**(-1)/(c*p-a)**2, p, t);
1 (t*a)/c 2
---*e *t
2
-----------------
3
c
invlap(c/((p/c-a)**2*(p-a*c)), p, t);
1 t*a*c 2 3
---*e *t *c
2
invlap(1/(p*(p-a)), p, t);
t*a
e - 1
----------
a
invlap(c/((p-a)*(p-b)), p, t);
t*a t*b
c*(e - e )
-----------------
a - b
invlap(p/((p-a)*(p-b)), p, t);
t*a t*b
e *a - e *b
-----------------
a - b
off mcd;
invlap((p+d)/(p*(p-a)), p, t);
t*a -1 t*a -1
e *a *d + e - a *d
invlap((p+d)/((p-a)*(p-b)), p, t);
-1 t*a t*a t*b t*b
(a - b) *(e *a + e *d - e *b - e *d)
invlap(1/(e**(k*p)*p*(p+1)), p, t);
- t + k
- e + one(t - k)
on mcd;
off exp;
invlap(c/(p*(p+a)**2), p, t);
t*a
- ((a*t + 1) - e )*c
-------------------------
t*a 2
e *a
on exp;
invlap(1, p, t);
delta(t)
invlap(c1*p/c2, p, t);
df(delta(t),t)*c1
-------------------
c2
invlap(p/(p-a), p, t);
t*a
delta(t) + e *a
invlap(c*p**2, p, t);
df(delta(t),t,2)*c
invlap(p**2*e**(-a*p)*c, p, t);
sub(t= - (a - t),df(delta(t),t,2))*c
off mcd;
invlap(e**(-a*p)*(1/p**2-p/(p-1))+c/p, p, t);
t - a
t - delta( - (a - t)) - e - a + c
on mcd;
invlap(a*p**2-2*p+1, p, x);
delta(x) + df(delta(x),x,2)*a - 2*df(delta(x),x)
% P to non-integer power in denominator - i.e. gamma-function case.
invlap(1/sqrt(p), p, t);
1
------------------
sqrt(t)*sqrt(pi)
invlap(1/sqrt(p-a), p, t);
t*a
e
------------------
sqrt(t)*sqrt(pi)
invlap(c/(p*sqrt(p)), p, t);
2*sqrt(t)*c
-------------
sqrt(pi)
invlap(c*sqrt(p)/p**2, p, t);
2*sqrt(t)*c
-------------
sqrt(pi)
invlap((p-a)**(-3/2), p, t);
t*a
2*sqrt(t)*e
----------------
sqrt(pi)
invlap(sqrt(p-a)*c/(p-a)**2, p, t);
t*a
2*sqrt(t)*e *c
------------------
sqrt(pi)
invlap(1/((p-a)*b*sqrt(p-a)), p, t);
t*a
2*sqrt(t)*e
----------------
sqrt(pi)*b
invlap((p/(c1-3)-a)**(-3/2), p, t);
t*a*c1
2*sqrt(t)*e *sqrt(c1 - 3)*(c1 - 3)
-----------------------------------------
3*t*a
sqrt(pi)*e
invlap(1/((p/(c1-3)-a)*b*sqrt(p/(c1-3)-a)), p, t);
t*a*c1
2*sqrt(t)*e *sqrt(c1 - 3)*(c1 - 3)
-----------------------------------------
3*t*a
sqrt(pi)*e *b
invlap((p*2-a)**(-3/2), p, t);
(t*a)/2
sqrt(t)*e
------------------
sqrt(pi)*sqrt(2)
invlap(sqrt(2*p-a)*c/(p*2-a)**2, p, t);
(t*a)/2
sqrt(t)*e *sqrt(2)*c
----------------------------
2*sqrt(pi)
invlap(c/p**(7/2), p, t);
2
8*sqrt(t)*t *c
----------------
15*sqrt(pi)
invlap(p**(-7/3), p, t);
1/3
t *t
------------
7
gamma(---)
3
invlap(gamma(b)/p**b,p,t);
b
t
----
t
invlap(c*gamma(b)*(p-a)**(-b),p,t);
b t*a
t *e *c
-----------
t
invlap(e**(-k*p)/sqrt(p-a), p, t);
t*a
e
------------------------------
a*k
sqrt(pi)*e *sqrt( - k + t)
% Images that give elementary object functions.
% Use of new switches lmon, lhyp.
invlap(k/(p**2+k**2), p, t);
1 2*t*i*k 1
---*e - ---
2 2
--------------------
t*i*k
e *i
% This is made more readable by :
on ltrig;
invlap(k/(p**2+k**2), p, t);
sin(k*t)
invlap(p/(p**2+1), p, t);
cos(t)
invlap((p**2-a**2)/(p**2+a**2)**2, p, t);
t*cos(a*t)
invlap(p/(p**2+a**2)**2, p, t);
t*sin(a*t)
------------
2*a
invlap((p-a)/((p-a)**2+b**2), p, t);
t*a
e *cos(b*t)
off ltrig;
on lhyp;
invlap(s/(s**2-k**2), s, t);
cosh(k*t)
invlap(e**(-tau/k*p)*p/(p**2-k**2), p, t);
cosh(k*t - tau)
off lhyp;
% But it is not always possible to convert expt. functions, e.g.:
on lhyp;
invlap(k/((p-a)**2-k**2), p, t);
sinh(k*t)*(cosh(a*t) + sinh(a*t))
off lhyp;
on ltrig;
invlap(e**(-tau/k*p)*k/(p**2+k**2), p, t);
1 2*t*i*k 1 2*i*tau
---*e - ---*e
2 2
-----------------------------
t*i*k + i*tau
e *i
off ltrig;
% In such situations use the default switches:
invlap(k/((p-a)**2-k**2), p, t);
t*a 1 2*t*k 1
e *(---*e - ---)
2 2
-------------------------
t*k
e
% i.e. e**(a*t)*cosh(k*t).
invlap(e**(-tau/k*p)*k/(p**2+k**2), p, t);
1 2*t*i*k 1 2*i*tau
---*e - ---*e
2 2
-----------------------------
t*i*k + i*tau
e *i
% i.e. sin(k*t-tau).
% More complicated examples.
off exp,mcd;
invlap((p+d)/(p**2*(p-a)), p, t);
t*a -2
(e *(a + d) - (d*t + 1)*a - d)*a
invlap(e**(-tau/k*p)*c/(p*(p-a)**2), p, t);
-1
(t - k *tau)*a -1 -1 -2
- (e *((k *tau - t)*a + 1) - one(t - k *tau))*a *c
invlap(1/((p-a)*(p-b)*(p-c)), p, t);
t*a 2 -1 t*b 2 -1
e *(a - a*b - a*c + b*c) - e *(a*b - a*c - b + b*c)
t*c 2 -1
+ e *(a*b - a*c - b*c + c )
invlap((p**2+g*p+d)/(p*(p-a)**2), p, t);
t*a -1 t*a -2 -2
e *(a + a *d + g)*t - e *(a *d - 1) + a *d
on exp,mcd;
invlap(k*c**(-b*p)/((p-a)**2+k**2), p, t);
t*a 2*b*i*k 2*t*i*k
e *( - c + e )
-------------------------------
t*i*k a*b + b*i*k
2*e *c *i
on ltrig;
invlap(c/(p**2*(p**2+a**2)), p, t);
c*(t*a - sin(a*t))
--------------------
3
a
invlap(1/(p**2-p+1), p, t);
t/2 sqrt(3)*t
2*e *sin(-----------)
2
-------------------------
sqrt(3)
invlap(1/(p**2-p+1)**2, p, t);
t/2 1 sqrt(3)*t
2*e *( - 3*t*cos(---*sqrt(3)*t) + 2*sqrt(3)*sin(-----------))
2 2
-----------------------------------------------------------------
9
invlap(2*a**2/(p*(p**2+4*a**2)), p, t);
1 1
- ---*cos(2*a*t) + ---
2 2
% This is (sin(a*t))**2 and you can get this by using the let rules :
for all x let sin(2*x)=2*sin x*cos x, cos(2*x)=(cos x)**2-(sin x)**2,
(cos x)**2 =1-(sin x)**2;
invlap(2*a**2/(p*(p**2+4*a**2)), p, t);
2
sin(a*t)
for all x clear sin(2*x),cos(2*x),cos(x)**2;
off ltrig;
on lhyp;
invlap((p**2-2*a**2)/(p*(p**2-4*a**2)),p,t);
1
---*(cosh(2*a*t) + 1)
2
off lhyp;
% Analogously, the above is (cosh(a*t))**2.
% Floating arithmetic.
invlap(2.55/((0.5*p-2.0)*(p-3.3333)), p, t);
51000 (33333*t)/10000 51000 4*t
- -------*e + -------*e
6667 6667
on rounded;
invlap(2.55/((0.5*p-2.0)*(p-3.3333)), p, t);
4.0*t 3.3333*t
7.64961751912*e - 7.64961751912*e
invlap(1.5/sqrt(p-0.5), p, t);
0.5*t
1.5*e
-----------------
0.5
t *gamma(0.5)
invlap(2.75*p**2-0.5*p+e**(-0.9*p)/p, p, t);
2.75*df(delta(t),t,2) - 0.5*df(delta(t),t) + one(t - 0.9)
invlap(1/(2.0*p-3.0)**3, p, t);
1.5*t 2
0.0625*e *t
invlap(1/(2.0*p-3.0)**(3/2), p, t);
0.5 1.5*t
0.353553390593*t *e
----------------------------
gamma(1.5)
invlap(1/(p**2-5.0*p+6), p, t);
3.0*t 2.0*t
e - e
off rounded;
% Adding new let rules for the invlap operator. note the syntax:
for all x let invlap(log(gam*x)/x,x) = -log(lp!&);
invlap(-1/2*log(gam*p)/p, p, t);
log(t)
--------
2
invlap(-e**(-a*p)*log(gam*p)/(c*p), p, t);
log( - (a - t))
-----------------
c
for all x clear invlap(1/x*log(gam*x),x);
% Very complicated examples and use of factorizer.
off exp,mcd;
invlap(c**(-k*p)*(p**2+g*p+d)/(p**2*(p-a)**3), p, t);
(t - log(c)*k)*a -3
(e *(a*g + 2*d) + d)*(log(c)*k - t)*a
(t - log(c)*k)*a 2 -1 -2
+ 1/2*e *(log(c)*k - t) *(a *g + a *d + 1)
(t - log(c)*k)*a -4 -3 -4
+ e *(a*g + 3*d)*a - a *g - 3*a *d
on exp,mcd;
invlap(1/(2*p**3-5*p**2+4*p-1), p, t);
t t/2 t
e *t + 2*e - 2*e
on ltrig,lhyp;
invlap(1/(p**4-a**4), p, t);
- sin(a*t) + sinh(a*t)
-------------------------
3
2*a
invlap(1/((b-3)*p**4-a**4*(2+b-5)), p, t);
- sin(a*t) + sinh(a*t)
-------------------------
3
2*a *(b - 3)
off ltrig,lhyp;
% The next three examples are the same:
invlap(c/(p**3/8-9*p**2/4+27/2*p-27)**2,p,t);
243 6*t 5
-----*e *t *c
40
invlap(c/(p/2-3)**6,p,t);
8 6*t 5
----*e *t *c
15
off exp;
a:=(p/2-3)**6;
6
(p - 6)
a := ----------
64
on exp;
invlap(c/a, p, t);
8 6*t 5
----*e *t *c
15
clear a;
% The following two examples are the same :
invlap(c/(p**4+2*p**2+1)**2, p, t);
1 2*t*i 3 1 3 1 2*t*i 2 1 2
(c*(----*e *t *i + ----*t *i - ----*e *t + ----*t
96 96 16 16
5 2*t*i 5 5 2*t*i 5 t*i
- ----*e *t*i - ----*t*i + ----*e - ----))/(e *i)
32 32 32 32
invlap(c/((p-i)**4*(p+i)**4),p,t);
1 2*t*i 3 1 3 1 2*t*i 2 1 2
(c*(----*e *t *i + ----*t *i - ----*e *t + ----*t
96 96 16 16
5 2*t*i 5 5 2*t*i 5 t*i
- ----*e *t*i - ----*t*i + ----*e - ----))/(e *i)
32 32 32 32
% The following three examples are the same :
invlap(e**(-k*p)/(2*p-3)**6, p, t);
(3*t)/2 1 5 4 3 2 2 3 4 1 5
e *(---*t - t *k + 2*t *k - 2*t *k + t*k - ---*k )
5 5
--------------------------------------------------------------
(3*k)/2
1536*e
invlap(e**(-k*p)/(4*p**2-12*p+9)**3, p, t);
(3*t)/2 1 5 4 3 2 2 3 4 1 5
e *(---*t - t *k + 2*t *k - 2*t *k + t*k - ---*k )
5 5
--------------------------------------------------------------
(3*k)/2
1536*e
invlap(e**(-k*p)/(8*p**3-36*p**2+54*p-27)**2, p, t);
(3*t)/2 1 5 4 3 2 2 3 4 1 5
e *(---*t - t *k + 2*t *k - 2*t *k + t*k - ---*k )
5 5
--------------------------------------------------------------
(3*k)/2
1536*e
% Error messages.
invlap(e**(a*p)/p, p, t);
*** Invlap for e**(p*a)/p not known
a*p -1
invlap(e *p ,p,t)
invlap(c*p*sqrt(p), p, t);
*** Invlap for sqrt(p)*p not known
invlap(sqrt(p)*c*p,p,t)
invlap(sin(p), p, t);
*** Invlap for sin(p) not known
invlap(sin(p),p,t)
invlap(1/(a*p**3+b*p**2+c*p+d),p,t);
*** Invlap for (p**3*a + p**2*b + p*c + d)**(-1) not known
3 2 -1
invlap((a*p + b*p + c*p + d) ,p,t)
invlap(1/(p**2-p*sin(p)+a**2),p,t);
*** Invlap for (p**2 - p*sin(p) + a**2)**(-1) not known
2 2 -1
invlap((a + p - p*sin(p)) ,p,t)
on rounded;
invlap(1/(p**3-1), p, t);
*** Invlap for (p**3 - 1)**(-1) not known
3 -1
invlap((p - 1) ,p,t)
off rounded;
% Severe errors:
%invlap(1/(p**2+1), p+1, sin(t) );
%invlap(p/(p+1)**2, sin(p), t);
end;
(laplace 28216 1066)
End of Lisp run after 28.23+1.74 seconds