kill(all)$

maxima :intro how construct first order pde theory (version1),part 5b.
peter.vlasschaert@gmail.com,30/04/2021

ref :https://petervlaschemeng.weebly.com/
=================================
-------------------------------------------------------------------------------------------------------------------
maxima :intro how construct pde from geometrical shape (p,q),version1,part 1.
maxima :how construct pde(p,q) :eliminating arbitrary (a,b),version1,part 2.
maxima :intro how construct pde from geometrical shape (p,q,r,s,t),version1,part 3.
maxima :intro how construct pde from arbitrary functions version1,part 4.
maxima :intro how construct pde complex theory version1,part 5a.{p,q,r,s,t}
------------------------------------------------------------------------------------------------------------------

load packages,option
-------------------------------

load(lrats)$  ratprint :false$

depends , see maxima code.

depends(z,[x,y]);

depends(u,[x,y,z],v,[x,y,z],φ,[u,v]);

differential: z with respect to 'x & y'

p1a:diff(z,x)=p;
p1b:diff(z,y)=q;

p1c:[p1a,p1b];

differential:(u,v )with respect to 'x & y'

p2a:'diff(u,x)=diff(u,x);
p2a1:subst(p1c,p2a);
p2b:'diff(v,x)=diff(v,x);
p2b1:subst(p1c,p2b);

p3a:'diff(u,y)=diff(u,y);
p3a1:subst(p1c,p3a);
p3b:'diff(v,y)=diff(v,y);
p3b1:subst(p1c,p3b);

differential:(φ)with respect to 'x & y'

p4a:'diff(φ,x)=diff(φ,x);
p4a1:subst(p1c,p4a);
p4b:'diff(φ,y)=diff(φ,y);
p4b1:subst(p1c,p4b);

What :φ(u,v)=0  → φ = 0

p5:  φ = 0;

total differential
==================

p5a:'diff(φ)=diff(φ);

p5a1: diff(p5);

p5a21:ratcoeff(lhs(p5a1),del(u));
p5a22:ratcoeff(lhs(p5a1),del(v));

p5a23:[p5a21,p5a22];

 differential
 ============

→ result :{p4a1,p4b1},evaluation "p5,φ = 0": lhs

p6a:diff(p5,x);

p6a1:subst(p1c,p6a);

p6a11:part(lhs(p6a1),1)= - part(lhs(p6a1),2);

p6b:diff(p5,y);

p6b1:subst(p1c,p6b);

p6b11:part(lhs(p6b1),1)= - part(lhs(p6b1),2);

→ elimination of φ from {p6a11,p6b11}
 (use:p5a23)

→ first step:

p7:map("=",p5a23,[m1,m2]);

→ second step: subst in {p6a11,p6b11}

p7a1:subst(p7,p6a11);
p7a2:subst(p7,p6b11);

→ thrid step: {p7a1,p7a2} elimination {m1,m2}

p7a3:p7a1/p7a2;

formation : pde form φ(u,v)=0 in {p,q,....}
============================================

p7a4:lhs(p7a3)-rhs(p7a3)=0;

p7a5:ratsimp(p7a4);

→ follows: p7a5 : nummerator = 0

p7a6:num(lhs(p7a5))=0;

p7a7:expand(p7a6);

→ coef p,coef q ,coef rest (p=0,q=0)

p7a81:ratcoeff(lhs(p7a7),p);
p7a82:ratcoeff(lhs(p7a7),q);
p7a83:subst([p=0,q=0],lhs(p7a7));

→ final result :

p7b:p*p7a81+q*p7a82+p7a83 = rhs(p7a7);

p7b1:p*p7a81+q*p7a82=rhs(p7a7)-1*p7a83;

→ set :  P,Q,R

p7b2a:p7a81=P;
p7b2b:p7a82=Q;
p7b2c:-1*p7a83=R;

p7b2d:[p7b2a,p7b2b,p7b2c];

→ final result : {p,q} & {P,Q,R}
use : p7b1

p7c:subst(p7b2d,p7b1);

How to find auxiliary equations (or subsidiary equations)

Theory : pde order one {p,q} when  φ(u,v)=0  → φ = 0
=====================================================
Lagrange's pde:
---------------

a) two independent solutions
-----------------------------
u(x,y,z)= c1 (Surface = S1)     (1)
v(x,y,z)= c2 (Surface = S2)     (2)
constants .{c1,c2}
b) result : S1 intersect S2 = C1
--------------------------------
dx/P = dy/Q = dz/R (Curves =C1) (3)
rem :C1 = ' characteristic curves

======================================================

Proof : auxiliary equations = (3)
---------------------------------

→ first : step (1) & (2)

declare(c1,constant)$
declare(c2,constant)$

p8a: u = c1;
p8b: v = c2; 

→ second : step ' total differential '

p8a1:diff(p8a);
p8b1:diff(p8b);

rem : see du/dy,du/dx , u → v

→ thrid : step 'simplification'

use :partial x,y →{p2a,p3a}, (u)
     partial x,y →{p2b,p3b}, (v)

p8a2a:[p2a,p3a];
p8a2a1:p8a2a[1];
p8a2a2:p8a2a[2];
p8a2a3:rhs(p8a2a[1])=lhs(p8a2a[1]);
p8a2a4:makelist(rhs(p8a2a[i])=lhs(p8a2a[i]),i,1,2);
p8a2b:[p2b,p3b];
p8a2b1:makelist(rhs(p8a2b[i])=lhs(p8a2b[i]),i,1,2);

p8ba:subst(p8a2a4,p8a1);
p8bb:subst(p8a2b1,p8b1);

→ fourth : step , ' elimination : del() '

a) del(z) , from {p8ba,p8bb}
-----------------------------

p9a1:expand(diff(v,z)*p8ba);
p9b1:expand(diff(u,z)*p8bb);

p9a:p9a1-p9b1;

p9b:del(x)*ratcoeff(lhs(p9a),del(x))+del(y)*ratcoeff(lhs(p9a),del(y)) = rhs(p9a);

→ use : R;P;Q (p7b2d)

rem : subst doesn't works here

p9c:lratsubst(p7b2d,p9b);

p9c1:part(lhs(p9c),1);

p9c2:part(lhs(p9c),2);

p9c3:part(lhs(p9c),1)= -1*part(lhs(p9c),2);

p9c4:p9c3/(P*Q);

b) del(y) , from {p8ba,p8bb}
___________________________

p10a1:expand('diff(v,y)*p8ba); /* see difference ' ,p9a1,p9b1*/
p10b1:expand('diff(u,y)*p8bb);

p10a:p10a1-p10b1;

p10b:del(x)*ratcoeff(lhs(p10a),del(x))+del(z)*ratcoeff(lhs(p10a),del(z)) = rhs(p10a);

p10c:lratsubst(p7b2d,p10b);

p10c1:part(lhs(p10c),1)= -1*part(lhs(p10c),2);

p10c2:p10c1/(R*P);

c) from a) & b)
---------------

p11:subst([p10c2],p9c4);

equations are :
dx/P = dy/Q = dz/R

method : Grouping
-----------------
when u(x,y,z)=c1 and v(x,y,z)=c2
use :φ(u,v)=0 or u=φ(v) or v=φ(u);THREE EQUIVALENT FORMS
rem :φ is arbitrary function. (example:OTHER *:WXMX)