kill(all)$

maxima :intro how construct pde from geometrical shape (p,q),version1,part 1.
peter.vlasschaert@gmail.com,26/04/2021

rem : z(x,y), multivariable function , every x or y can be more than one value.

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

load(lrats)$  ratprint :false$

1e) given : x^2+y^2 =1
------------------------------
simple circle @ origin, radius =1

p1:x^2+y^2=1;

→ wxplot2d

rr:1;/*radius = 1*/

wxplot2d ([parametric, rr*cos(t), rr*sin(t), [t, 0, %pi*2]],
 [yx_ratio, 1]);
        

→ wximplicit_plot

no :circle ,problem with axis,need option :same_xy

load (implicit_plot) $
wximplicit_plot ( [p1] , [x, -1,1] , [y, -1, 1], same_xy  );

→ wxdraw2d

wxdraw2d(implicit(p1, x, -1, 1, y, -1, 1));

v1:proportional_axes=xy;
wxdraw2d(implicit(p1, x, -1, 1, y, -1, 1),v1);

find :pde → 1e)
============

depends(z,[x,y]);

→construct : p & q

p2:p = diff(z,x);
p2a:q = diff(z,y);

→ construct : z

p3:lhs(p1)-rhs(p1)=0;
p3a: z=lhs(p3);

→construct: p & q

p4:subst([p3a],p2);
p4a:subst([p3a],p2a);

simplify

p5:ev(p4,diff);
p5a:ev(p4a,diff);

→solve : x & y see:1e)

p6:(solve(p5,x))^2;
p6a:(solve(p5a,y))^2;

→  see 1e)

p7:p6+p6a;

→ remove x,y with 1e)

p7:ratsimp(subst(p1,p7)*4);

→ final result

p8:rhs(p7[1])=lhs(p7[1]);

check: result,use p5 & p5a
-------------------------------------
need : packages

p9:factor(lratsubst([p5,p5a],p8));

p9a:ratsimp(subst(p1,p9));

don't forget use :ratsimp ,final simplified equations.
→ wrong result  : 4 =2^2

p9b:is(p9a);

when mixed terms  : you need second order operator (not always)
example : a*x*y , a =constant