kill(all)$

complex : appendix ('nth order derivative,laplace transform'),version 1.0
peter.vlasschaert@gmail.com,09/08/2019

used : programming example. ('maxima')
info: https://proofwiki.org/wiki/Laplace_Transform_of_Higher_Order_Derivatives

load packages
============

load(lrats);

p1:s^n*f(s) -sum(s^(n-i)*'diff(f(m),t,i-1), i,1,n);

example : ' n=3'

p2:subst([n=3],p1),simpsum;

p2a:subst([m=0],p2);

var : t , initial condition : m =0

how to find general equation : ?
========================
google : general equation of laplace transform nth order derivative

function : general equation, 'nth order derivative,laplace transform'
==================================================

LTnd(var,g,n):=block([m:0],
s^n*g(s) -sum(s^(n-i)*'diff(g(m),t,i-1), i,1,n));

example : n=3 ,'3th order derivative,laplace transform
-------------------------------------------------------------------------

p4:LTnd(t,f,3);

how to use : command : 'disp'
-----------------------------------------

for i:1 thru  3 do(
disp( n=i,LTnd(t,f,i)));

Definition Laplace Transform. (one variable)
=======================

p5a:L(f(t)) = f(s);
p5b:rhs(p5a) = lhs(p5a);

example : n=3
--------------------

p6:L(diff(f(t),t,3)) = p4;

pde : two variables u =u(x,t), laplace transform with respect to 't'
================================================

var1=x
var2=t
when u = u(x,t)

p7:LTnd2(var1,var2,u1,n):=block([m:0],
s^n*u1(var1,s) -sum(s^(n-i)*'diff(u1(var1,m),var2,i-1), i,1,n));

example : n=3

p7a:LTnd2(x,t,u,3);

Definition Laplace Transform. (two variable)
==================================

p8a:L(u(x,t)) = u(x,s);
p8b:rhs(p8a) = lhs(p8a);

example : n=3
--------------------

L(diff(u(x,t),t,3)) =p7a;

How to use:print ' for output'
=====================
n=1,2,3

for i:1 thru 3 do(
print("n =:",i,",",L(diff(u(x,t),t,i)) =LTnd2(x,t,u,i)));

how to create matrix : display result , n=1,2;3 ( output)
=========================================

Menu : Algebra : Generate Matrix....

p9:genmatrix(b, 3, 3);

second entry of matrix
=================

i:2;

p9a:(b[i,1]:i,b[i,2]:L(diff(u(x,t),t,i)) ,b[i,3]:LTnd2(x,t,u,i));

for i:1 thru 3 do(
(b[i,1]:i,b[i,2]:L(diff(u(x,t),t,i)) ,b[i,3]:LTnd2(x,t,u,i)));

fill matrix : with elements row by row
============================

p9b:ev(p9,nouns);

example n=1,2,3,4, 'matrixform'
========================

dispLTnd2(m,v):=block([],
   p:genmatrix(v,m,3),
    /*fill matrix p */
   for i:1 thru m do(  
    /*How more than one statement on a line */          
(p[i,1]:i,p[i,2]:L(diff(u(x,t),t,i)) )       
                               ),
    /*elements into matrix p*/
    pp:ev(p,nouns),
    /*output*/
      return(pp)
);

/*.........*/  = comment

rem : genmatrix 'v'  = > function  ' dispLTnd2 '
==================================

=========================================
v[i,j]  => p[i,j], 'in general',see : code : 'copy statement'
=========================================
show elements : need ev with option : nouns
=========================================

p10:dispLTnd2(4,q);

p11:p[1,3];

for i:1 thru 4 do(  
    p10[i,3] :  LTnd2(x,t,u,i)  
                               );

how to combine : 

final result : matrix
==============

p12:p10;

dispLTnd2up(m,v):=block([],
   p:genmatrix(v,m,3),
    /*fill matrix p */
   for i:1 thru m do(  
    /*How more than one statement on a line */          
(p[i,1]:i,p[i,2]:L(diff(u(x,t),t,i)) )       
                               ),
    /*elements into matrix  p³*/
    pp:ev(p,nouns),
    /*elements into matrix p,from function outside*/
          for i:1 thru m do(  
                     pp[i,3] :  LTnd2(x,t,u,i)  
                                     ),
   /*output*/
    return(pp)
);

only one function
=============

dispLTnd2up(4,vv);