New Packages in Maple V Release 5
This file describes the new packages available in Release 5 of Maple.
Context package
Interface to Matlink
Codegen - Code generation package
algcurves - The algebraic curves package
diffalg - Package for manipulating systems of differential polynomial equations (ODE or PDE)
geom3d - Introduction to the geom3d package
Groebner - The Groebner package and Groebner bases.
Ore_algebra - The Ore_algebra package and Ore algebras.
PDEtools - Solving Partial Differential Equations
Context
Matlab
GRAD - See GRADIENT
GRADIENT - Compute the Gradient of a Maple procedure
with(codegen):
F := proc(x) local t; t := x; x+t*t; end;
F:=procxlocalt;t:=x;x+t*tend proc
F(x,y);
x2+x
G := GRADIENT(F);
G:=procxlocaldf,t;t:=x;df:=array⁡1..1;df[1]:=2*t;returndf[1]+1end proc
HESSIAN - Compute the HESSIAN matrix of a Maple procedure
F := proc(x,y) local t; t := x*y; x+t-y*t; end;
F:=procx,ylocalt;t:=y*x;x+t − y*tend proc
−y2⁢x+y⁢x+x
H := HESSIAN(F); # reverse mode
H:=procx,ylocaldf,df1,dfr0,grd,grd1,grd2,t1;df1:=−y+1;t1:=df1;grd1:=t1*y+1;grd2:=t1*x − y*x;df:=array⁡1..4;dfr0:=array⁡1..4;df[3]:=1;df[2]:=df[3]*y;df[1]:=df[2];dfr0[4]:=1;dfr0[2]:=dfr0[4]*x;dfr0[1]:=dfr0[2];grd:=array⁡1..2,1..2;grd[1,1]:=0;grd[1,2]:=t1*df[3] − df[1];grd[2,1]:=dfr0[4]*t1 − y;grd[2,2]:=−dfr0[4]*x − dfr0[1];returngrdend proc
JACOBIAN - Compute the JACOBIAN matrix of a Maple procedure
f := proc(x,y) x*y^2; end;
f:=procx,yx*y^2end proc
g := proc(x,y) x^2*y; end;
g:=procx,yx^2*yend proc
J := JACOBIAN([f,g]);
J:=procx,ylocaldf,dfr0,grd,t1,t2;t1:=y^2;t2:=x^2;df:=array⁡1..2;dfr0:=array⁡1..2;df[1]:=x;dfr0[2]:=y;grd:=array⁡1..2,1..2;grd[1,1]:=t1;grd[1,2]:=2*y*df[1];grd[2,1]:=2*dfr0[2]*x;grd[2,2]:=t2;returngrdend proc
print(J(x,y));
y22⁢y⁢x2⁢y⁢xx2
declare - Declare the type of a parameter
g := proc(y) local A; A := array(1 .. 2); A[1] := y^2; A[2] := y^2; end:
declare(y::numeric,g);
procy::numericlocalA;A:=array⁡1..2;A[1]:=y^2;A[2]:=y^2end proc
dontreturn - Do not return a value from a Maple procedure
f := proc(a,b) a := 3; b := array(1..2,1..2,[[1,2],[3,4]]); RETURN(a,b); end;
f:=proca,ba:=3;b:=array⁡1..2,1..2,1,2,3,4;RETURN⁡a,bend proc
dontreturn(a,f);
proca,ba:=3;b:=array⁡1..2,1..2,1,2,3,4;returnbend proc
codegen,fortran - Generate fortran code
f := 12*x+4-y+6*x;
f≔18⁢x+4−y
fortran(f);
t0 = 18*x+4-y
horner - Convert formulae in a procedure to horner form
h := proc(x,y,z) 1-2*x*y-x*y^2*z*(1-x); end;
h:=procx,y,z1 − 2*y*x − x*y^2*z*1 − xend proc
horner(h,x);
procx,y,z1+x*y^2*z − y^2*z − 2*y*xend proc
horner(h,[x,y]);
procx,y,z1+−y*z − 2*y+x*y^2*z*xend proc
intrep2maple - Converts an abstract syntax tree to a Maple procedure
f := proc(x) local t; t := sin(x); x*t; end:
tree := maple2intrep(f);
tree≔Proc⁡Name⁡f..float,Parameters⁡x..float,Options⁡,Description⁡,Locals⁡t..float,Globals⁡,StatSeq⁡Assign⁡t,sin⁡x,x⁢t
intrep2maple(tree);
procxlocalt;t:=sin⁡x;x*tend proc
joinprocs - Join the body of two or more Maple procedures together
f := proc(x,y) local e,t; e := exp(-x); t := x^2; t*e; end:
g := proc(x,y) local e,t; e := exp(-x); t := y^2; t*e; end:
J := joinprocs([f,g]);
J:=procx,ylocale,resultf,resultg,t;e:=exp⁡−x;t:=x^2;resultf:=e*t;e:=exp⁡−x;t:=y^2;resultg:=e*t;returnresultf,resultgend proc
makeglobal - Make a variable to be a global variable
f := proc(x) local b; b := hfarray([[x*2,3],[4.5,32]]); end:
makeglobal(b,f);
procxglobalb;b:=hfarray⁡2*x,3,4.5,32end proc
makeparam - Change the variable to be a parameter
f := proc() local x; x := 3*x; end:
g := makeparam(x,f);
g:=procxx:=3*xend proc
makeproc - Make a Maple procedure from a formula(e)
f := x-y*x*exp(-3);
f≔x−y⁢x⁢ⅇ−3
makeproc(f,[x,y]);
procx,yx − y*x*exp⁡−3end proc
makevoid - Do not return any values from a Maple procedure
f := proc(x,A::array(2..2)) A[1,1] := x^2; RETURN(x,A); end:
makevoid(f);
procx,A::array⁡2..2A[1,1]:=x^2;returnend proc
maple2intrep - Converts a Maple procedure to an abstract syntax tree
optimize - Common subexpression optimization
f := 2^x-x^3;
f≔2x−x3
optimize(f);
t1=2x,t2=x2,t4=−t2⁢x+t1
packlocals - Pack locals of a Maple procedure into an array
f := proc(x,y,z) local w,t; w := y^2; t := x*w*z; z-t^2; end:
packlocals(f,[w,t],A);
procx,y,zlocalA;A:=array⁡1..2;A[1]:=y^2;A[2]:=x*A[1]*z;−A[2]^2+zend proc
packparams or packargs - Pack parameters (or arguments) of a Maple procedure into an array
f := proc(x,y,z) local s,t; s := y^2; t := x*s*z; t^2; end;
f:=procx,y,zlocals,t;s:=y^2;t:=x*s*z;t^2end proc
packparams(f,[x,y,z],A);
procA::array⁡1..3locals,t;s:=A[2]^2;t:=A[1]*s*A[3];t^2end proc
prep2trans - Prepare a Maple procedure for translation
f := proc(x) piecewise(x<0,0,x<1,x,x>1,2-x,0); end;
f:=procxpiecewise⁡x<0,0,x<1,x,1<x,2 − x,0end proc
prep2trans(f);
procxifx<0then0elifx<1thenxelif1<xthen2 − xelse0end ifend proc
split - Prepare a Maple procedure for automatic differentiation
h := proc(a,b) 324*exp(a)/56*b*3*a; end;
h:=proca,b243/14*exp⁡a*b*aend proc
split(h);
proca,blocals0;s0:=b*a;return243/14*s0*exp⁡aend proc
swapargs - Interchange two arguments in a Maple procedure
f := proc(x,y,z) local s,t; s := y^2; t := x/60-z; t^2; end:
swapargs(f,1=2);
procy,x,zlocals,t;s:=y^2;t:=1/60*x − z;t^2end proc
Weierstrassform - Find an isomorphism for function fields with genus 1
with(algcurves):
f:=x^4+y^4-2*x^3+x^2*y-2*y^3+x^2-x*y+y^2:
v:=Weierstrassform(f,x,y,x0,y0);
v≔x03+23⁢x0+1108+y02,−3⁢y+2⁢x3⁢x,−x3−2⁢x⁢y2+2⁢y3−x2+2⁢y⁢x−2⁢y22⁢x2⁢x−1,−162⁢x03+324⁢x02−162⁢x0⁢y0−135⁢x0+108⁢y0+156162⁢x04−432⁢x03+432⁢x02−192⁢x0+194,162⁢x04−432⁢x03+162⁢x02⁢y0+351⁢x02−216⁢x0⁢y0−246⁢x0+72⁢y0+104162⁢x04−432⁢x03+432⁢x02−192⁢x0+194
genus - Find the genus of an algebraic curve
f:=x^4-y^3-y;
f≔x4−y3−y
factor(f);
x4−y3−y
genus(f,x,y);
3
homogeneous - Make a polynomial in two variables homogeneous in three variables
f:=a^2-b^3;
f≔−b3+a2
homogeneous(f,b,a,c);
a2⁢c−b3
integral_basis - Find integral bases of algebraic function fields
alpha:=RootOf(x^3+7,x);
α≔RootOf⁡_Z3+7
f:=y^8+3*x*y^5*alpha+5*x^4+x^6*alpha;
f≔y8+RootOf⁡_Z3+7⁢x6+3⁢RootOf⁡_Z3+7⁢x⁢y5+5⁢x4
integral_basis(f,x,y);
1,y,y2,y3x,y4x,y2⁢y3+3⁢x⁢RootOf⁡_Z3+7x2,y3⁢y3+3⁢x⁢RootOf⁡_Z3+7x2,y4⁢y3+3⁢x⁢RootOf⁡_Z3+7x3
j_invariant - Find the j invariant of an elliptic curve
f:=y^5+4/3-23/3*y^2+11*y^3-17/3*y^4-16/3*x^2+16/3*x^3-4/3*x^4:
check to see if genus is 1 first
1
j_invariant(f,x,y);
−1404928171
parametrization - Calculate parametrization for a curve with genus 0
f:=y^5+2*x*y^2+2*x*y^3+x^2*y-4*x^3*y+2*x^5:
v:=parametrization(f,x,y,t);
v≔−24192⁢t5−6048⁢t4+2520⁢t3−238⁢t2+7⁢t181604⁢t5−103680⁢t4+17280⁢t3−1440⁢t2+60⁢t−1,16464⁢t5+6860⁢t4−686⁢t3181604⁢t5−103680⁢t4+17280⁢t3−1440⁢t2+60⁢t−1
plot_knot - Make a tubeplot for a singularity knot
plot_knot(x^2+y^2,x,y,axes=normal);
puiseux - Determine the Puiseux expansion of an algebraic function
Root:=RootOf(x^2-5);
Root≔RootOf⁡_Z2−5
f := 4+Root-y^4+x*5;
f≔−y4+RootOf⁡_Z2−5+5⁢x+4
puiseux(f,x=0,y,3);
75⁢RootOf⁡_Z4−RootOf⁡_Z2−5−4⁢RootOf⁡_Z2−5484−1575⁢RootOf⁡_Z4−RootOf⁡_Z2−5−43872⁢x2+−5⁢RootOf⁡_Z4−RootOf⁡_Z2−5−4⁢RootOf⁡_Z2−544+5⁢RootOf⁡_Z4−RootOf⁡_Z2−5−411⁢x+RootOf⁡_Z4−RootOf⁡_Z2−5−4
singularities - Determine the singularities of an algebraic curve
f := x^3*y+63*y-4*y^2+6*x*y-8*x;
f≔y⁢x3+6⁢y⁢x−4⁢y2−8⁢x+63⁢y
singularities(f,x,y);
0,1,0,2,1,1
For examples of differential polynomials, please see the Differential example worksheet.
Rosenfeld_Groebner - Find the representation of radical ideal
belongs_to - Test if a differential polynomial belongs to a radical differential ideal
delta_leader - Return the difference of the derivation operators of the leaders of two differential polynomials
delta_polynomial - Return the delta-polynomial generated by two differential polynomials
denote - Convert a differential polynomial from an external form to another one
derivatives - Return the derivatives occurring in a differential polynomial
differential_ring - Define a differential polynomial ring endowed with a ranking and notations
differential_sprem - Return the sparse pseudo remainder of a differential polynomial
differentiate - Differentiate a differential polynomial
equations - Return the equations of a regular differential ideal
field_extension - Define a field extension of the field of the rational numbers
formal_power_series - Compute a formal power series from a regular differential ideal
greater - Compare the rank of two differential polynomials
inequations - Return the inequations of a regular differential ideal
initial - Return the initial of a differential polynomial
initial_conditions - Return the list of the initial conditions of a regular differential ideal
is_orthonomic - Test if a regular differential ideal is presented by an orthonomic system of equations
leader - Return the leader of a differential polynomial
power_series_solution a solution of a regular differential ideal whose components are formal power series
print_ranking - Print a message describing the ranking of a differential polynomial ring
rank - Return the rank of a differential polynomial
reduced - Test if a differential polynomial is reduced w.r.t. differential polynomials
reduced_form - Find a reduced form of a differential polynomial modulo a radical differential ideal
rewrite_rules - Display the equations of a regular differential ideal using a special syntax
separant - Display the separant of a differential polynomial
AreCollinear - Test if three points are collinear
restart;
with(geom3d):
point(A,0,0,0):
point(B,1,2,1):
point(C,2,4,2):
geom3d[AreCollinear](A,B,C);
true
AreConcurrent - Test if three lines are concurrent
point(A,1,1,1);
A
point(B,-1,-1,-1);
B
point(C,10,-10,10);
C
point(D,-10,10,-10);
Warning, a geometry object has been assigned to the protected name D. Use of protected names for geometry objects is not recommended and may break Maple functionality.
D
point(E,-66,5,0);
E
point(F,66,-5,0);
F
line(line1,[A,B]);
line1
line(line2,[C,D]);
line2
line(line3,[E,F]);
line3
geom3d[AreConcurrent](line1,line2,line3);
AreConjugate - Test if a pair of points is conjugate with respect to a sphere
point(B,3,-4,2):
point(C,5,3,4):
sphere(sph,[A,5],[x,y,z]):
geom3d[AreConjugate](B,C,sph);
false
AreCoplanar - Test if the given objects are on the same plane
point(A,0,0,0): point(B,34,2,0): point(C,2,-15,0):
plane(pl1,[A,B,C]):
randpoint(D,pl1):
geom3d[AreCoplanar](A,B,C,D);
AreDistinct - Test if given objects are distinct
sphere(sph1,[point(A,0,0,0),3]):
line(line1,[A,point(B,0,0,21)]):
rotation(sph2,sph1,Pi/4,line1):
geom3d[AreDistinct](sph1,sph2);
AreParallel - Test if two objects are parallel to each other
point(A,1,3,2): point(B,5,2,3):
plane(pl,[point(C,6,2,43),point(D,6,23,3),point(E,56,2,31)]):
geom3d[AreParallel](line1,pl);
ArePerpendicular - Test if two objects are perpendicular to each other
point(A,[6,3,2]):
point(B,[5,2,3]):
point(C,[6,2,1]):
plane(pl,[A,B,C]):
line(line1,[point(D,24,26,-2),point(E,26,-61,4)]):
geom3d[ArePerpendicular](line1,pl);
AreSkewLines - Test if two lines are skew
line(line01,[point(A,34,2,-13),point(B,62,-21,5)]):
line(line02,[point(C,1,1,6),point(D,-26,12,-72)]):
AreSkewLines(line01,line02);
DefinedAs - Return the name of endpoints or vertices of segment, directed segment, triangle
point(A,6,3,2):
point(B,6,21,-2):
point(C,-25,2,6):
triangle(tr1,[A,B,C]);
tr1
DefinedAs(tr1);
A,B,C
DirectionRatios - Return the direction-ratios of a line
line(ln1,[point(A,6,2,65),point(B,-62,2,-46)]):
DirectionRatios(ln1);
−68⁢1694516945,0,−111⁢1694516945
Equation - Find the equation of a geometric object
sphere(sph1,[point(A,0,0,5),4]):
Equation(sph1,[x,y,z]);
x2+y2+z2−10⁢z+9=0
FindAngle - Find the angle between two given objects
plane(pl1,[point(A,3,5,2),point(B,-3,2,0),point(C,5,2,-5)]):
line(ln1,[point(D,5,3,-1),point(E,1,2,5)]):
FindAngle(ln1,pl1);
arcsin⁡130⁢154601154601
FixedPoint - Return a fixed point on a line
plane(pl1,[point(A,5,2,1),[5,2,5]]):
plane(pl2,[point(B,2,1,-5),[2,5,-6]]):
line(ln1,[pl1,pl2]):
FixedPoint(ln1);
pl1_pl2
detail(pl1_pl2);
name of the objectpl1_pl2form of the objectpoint3dcoordinates of the point9221,12721,0
HarmonicConjugate - Find the harmonic conjugate of a point with respect to two other points
point(A,3,4,2):
point(B,2,6,1):
point(C,6,2,2):
HarmonicConjugate(HC,B,C,A);
HC
coordinates(HC);
0,8,12
IsEquilateral - Test if a given triangle is equilateral
triangle(tri,[point(A,56,1,2),point(B,2,0,56),point(C,6,1,2)]):
IsEquilateral(tri);
IsFacetted - Check if the given polyhedron is of faceted form
facet(i1,cuboctahedron(c,point(o,0,0,0),2),1);
i1
IsFacetted(i1);
IsOnObject - Test if a point, a list or a set of points is on a given object
line(ln1,[point(B,0,0,0),point(C,10,4,12)]):
IsOnObject(point(A,5,2,6),ln1);
IsRightTriangle - Test if a given triangle is a right triangle
triangle(tri,[point(A,6,21,6),point(B,2,-7,5),point(C,-6,6,2)],[x,y,z]):
IsRightTriangle(tri);
IsStellated - Check if the given polyhedron is of stellated form
stellate(ste,icosahedron(i,point(o,1,1,1),2),22);
ste
IsStellated(ste);
IsTangent - Test if a plane is tangent to a sphere
sphere(sph,[point(A,0,0,0),3]):
plane(pl,[point(B,7,2,5),point(C,5,1,-2),point(D,-7,2,-3)]):
IsTangent(pl,sph);
NormalVector - Define the planes
plane(pl,[point(A,6,2,3),point(B,2,1,-5),point(C,-1,6,2)]):
Normvec := NormalVector(pl);
Normvec≔33,52,−23
OnSegment - Find the point which divides the segment joining two given points by some ratio
OnSegment(pt,point(A,5,2,-6),point(B,-1,5,2),3);
pt
detail(pt);
name of the objectptform of the objectpoint3dcoordinates of the point12,174,0
ParallelVector - Return a direction-ratios of a line
line(ln1,[point(A,6,-6,2),point(B,-5,1,-61)]):
PVec := ParallelVector(ln1);
PVec≔−11,7,−63
QuasiRegularPolyhedron - Define a quasi-regular polyhedron
QuasiRegularPolyhedron(QRpoly, [[3],[4]],point(A,6,6,2),3);
QRpoly
RadicalCenter - Find the radical center of four given spheres
sphere(sph1,[point(A,2,5,1),4]):
sphere(sph2,[point(B,6,-2,3),3]):
sphere(sph3,[point(C,-8,3,7),4]):
sphere(sph4,[point(D,-6,2,-1),6]):
RadicalCenter(pt,sph1,sph2,sph3,sph4);
coordinates(pt);
141136,−4334,0
RadicalLine - Find the radical line of three given spheres
RadicalLine(ln1,sph1,sph2,sph3);
ln1
detail(ln1);
Warning, assume that the parameter in the parametric equations is _t
Warning, assuming that the names of the axes are _x, _y, and _z
name of the objectln1form of the objectline3dequation of the line_x=−14839−152⁢_t,_y=−15739−176⁢_t,_z=−312⁢_t
RadicalPlane - Find the radical plane of two given spheres
RadicalPlane(pl,sph1,sph2);
pl
detail(pl);
Warning, assuming that the names of the axes are _x, _y and _z
name of the objectplform of the objectplane3dequation of the plane−26+8⁢_x−14⁢_y+4⁢_z=0
StereographicProjection
TangentPlane - Find the tangent plane of a point on a sphere
sphere(sph,[point(A,0,0,0),1]):
point(B,0,0,1):
TangentPlane(pl,B,sph);
name of the objectplform of the objectplane3dequation of the plane1−_z=0
area - Calculate the area of a triangle, surface area of sphere, regular polyhedron
area(sph1);
64⁢π
altitude - Find the altitude of a given triangle
triangle(tri,[point(A,3,5,1),point(B,-6,1,-4),point(C,7,3,0)]):
altitude(al,tri,B);
al
form(al);
segment3d
detail(al);
name of the objectalform of the objectsegment3dthe 2 ends of the segment−2921,15121,4421,−2921,15121,4421
center - Find the center of a given geometric object
tetrahedron(t,point(pt,1,2,3),3):
center(ctr,t);
ctr
form(ctr);
point3d
coordinates(ctr);
1,2,3
centroid - Find the centroid of a given general tetrahedron or a given triangle or a list of points in space
point(A,0,0,0),point(B,1,0,0),point(C,0,0,1),point(F,0,1,0):
gtetrahedron(t,[A,B,C,F]):
triangle(tri,[point(A,4,1,2),point(B,2,5,1),point(C,-5,1,-6)]);
tri
centroid(ctd,tri);
ctd
centroid(ctd1,t);
ctd1
form(ctd);
coordinates(ctd);
13,73,−1
circle - Create a circle
sphere(sph,[point(A,5,2,6),5]):
plane(pl,[point(B,-6,1,3),point(C,6,7,1),point(D,-2,2,5)]):
geom3d:-circle(cir,[sph,pl]);
cir
detail(cir);
name of the objectcirform of the objectcircle3dname of the centercenter_cir_1coordinates of the center1404341,1370341,2304341radius of the center2⁢569129341the circle lies on the planepl,name of the objectplform of the objectplane3dequation of the plane152+14⁢_x−32⁢_y−12⁢_z=0
coordinates - Display the coordinates of a given point
point(A,5,2,5);
coordinates(A);
5,2,5
detail - Give a detailed description of an object, or a list or set of objects
sphere(sph,[point(A,5,2,6),4]);
sph
detail(sph);
Warning, assume that the name of the axes are _x, _y and _z
name of the objectsphform of the objectsphere3dname of the centerAcoordinates of the center5,2,6radius of the sphere4surface area of the sphere64⁢πvolume of the sphere256⁢π3equation of the sphere_x2+_y2+_z2−10⁢_x−4⁢_y−12⁢_z+49=0
distance - Find the distance between two given objects
line(ln1,[point(A,6,2,1),point(B,-2,21,1)]):
line(ln2,[point(C,2,1,2),point(D,3,-5,3)]):
distance(ln1,ln2);
55⁢12661266
draw - Create a three-dimensional plot
draw(sph);
dsegment - Define a directed segment
dsegment(dseg,[point(A,5,2,-3),point(B,-5,2,1)]);
dseg
detail(dseg);
name of the objectdsegform of the objectdsegment3dthe initial and end points of the directed segment5,2,−3,−5,2,1
faces - Return the faces of a polyhedron
hexahedron(hexa,point(A,6,2,-3),3);
hexa
faces(hexa);
3+6,2+3,3−3,3+6,2−3,3−3,3+6,2−3,−3−3,3+6,2+3,−3−3,−3+6,2+3,3−3,−3+6,2+3,−3−3,−3+6,2−3,−3−3,−3+6,2−3,3−3,3+6,2+3,3−3,3+6,2+3,−3−3,−3+6,2+3,−3−3,−3+6,2+3,3−3,3+6,2−3,3−3,−3+6,2−3,3−3,−3+6,2−3,−3−3,3+6,2−3,−3−3,3+6,2+3,3−3,−3+6,2+3,3−3,−3+6,2−3,3−3,3+6,2−3,3−3,3+6,2−3,−3−3,−3+6,2−3,−3−3,−3+6,2+3,−3−3,3+6,2+3,−3−3
facet - Define a faceting of a given polyhedron
facet(icofac,icosidodecahedron(ico,point(A,5,2,-4),2));
icofac
vertices(icofac);
5,2,−4,5,2⁢514⁢12+5252+52+2,−4,514⁢12+5252+52+5,2⁢5⁢12+52⁢53420+12+52⁢514452+52+2,2⁢5⁢−12+52⁢53420+12+52⁢514452+52−4,2⁢5⁢−12+52⁢53420+12+52⁢514452+52+5,514⁢12+5252+52+2,2⁢5⁢12+52⁢53420+12+52⁢514452+52−4,2⁢5⁢12+52⁢53420−12+52⁢514452+52+5,514⁢12+5252+52+2,2⁢5⁢12+52⁢53420+12+52⁢514452+52−4,−514⁢12+5252+52+5,2⁢5⁢12+52⁢53420+12+52⁢514452+52+2,2⁢5⁢−12+52⁢53420+12+52⁢514452+52−4,−514⁢12+5252+52+5,2⁢5⁢12+52⁢53420+12+52⁢514452+52+2,2⁢5⁢12+52⁢53420−12+52⁢514452+52−4,2⁢5⁢12+52⁢53420−12+52⁢514452+52+5,514⁢12+5252+52+2,2⁢5⁢−12+52⁢53420−12+52⁢514452+52−4,2⁢5⁢−12+52⁢53420+12+52⁢514452+52+5,514⁢12+5252+52+2,2⁢5⁢−12+52⁢53420−12+52⁢514452+52−4,514⁢12+5252+52+5,2⁢5⁢12+52⁢53420+12+52⁢514452+52+2,2⁢5⁢12+52⁢53420−12+52⁢514452+52−4,5,−2⁢514⁢12+5252+52+2,−4,−514⁢12+5252+52+5,2⁢5⁢−12+52⁢53420−12+52⁢514452+52+2,2⁢5⁢−12+52⁢53420+12+52⁢514452+52−4,2⁢5⁢12+52⁢53420−12+52⁢514452+52+5,−514⁢12+5252+52+2,2⁢5⁢12+52⁢53420+12+52⁢514452+52−4,2⁢5⁢−12+52⁢53420+12+52⁢514452+52+5,−514⁢12+5252+52+2,2⁢5⁢12+52⁢53420+12+52⁢514452+52−4,514⁢12+5252+52+5,2⁢5⁢−12+52⁢53420−12+52⁢514452+52+2,2⁢5⁢−12+52⁢53420+12+52⁢514452+52−4,514⁢12+5252+52+5,2⁢5⁢−12+52⁢53420−12+52⁢514452+52+2,2⁢5⁢12+52⁢53420−12+52⁢514452+52−4,−514⁢12+5252+52+5,2⁢5⁢−12+52⁢53420−12+52⁢514452+52+2,2⁢5⁢12+52⁢53420−12+52⁢514452+52−4,2⁢5⁢12+52⁢53420−12+52⁢514452+52+5,−514⁢12+5252+52+2,2⁢5⁢−12+52⁢53420−12+52⁢514452+52−4,2⁢5⁢−12+52⁢53420+12+52⁢514452+52+5,−514⁢12+5252+52+2,2⁢5⁢−12+52⁢53420−12+52⁢514452+52−4,5,2,2⁢514⁢12+5252+52−4,2⁢5⁢12+52⁢53420+12+52⁢514452+52+5,2⁢5⁢−12+52⁢53420+12+52⁢514452+52+2,514⁢12+5252+52−4,2⁢5⁢12+52⁢53420+12+52⁢514452+52+5,2⁢5⁢12+52⁢53420−12+52⁢514452+52+2,514⁢12+5252+52−4,2⁢5⁢12+52⁢53420+12+52⁢514452+52+5,2⁢5⁢−12+52⁢53420+12+52⁢514452+52+2,−514⁢12+5252+52−4,5,2,−2⁢514⁢12+5252+52−4,2⁢5⁢12+52⁢53420+12+52⁢514452+52+5,2⁢5⁢12+52⁢53420−12+52⁢514452+52+2,−514⁢12+5252+52−4,2⁢5⁢−12+52⁢53420−12+52⁢514452+52+5,2⁢5⁢12+52⁢53420−12+52⁢514452+52+2,514⁢12+5252+52−4,2⁢5⁢−12+52⁢53420−12+52⁢514452+52+5,2⁢5⁢−12+52⁢53420+12+52⁢514452+52+2,514⁢12+5252+52−4,2⁢5⁢−12+52⁢53420−12+52⁢514452+52+5,2⁢5⁢−12+52⁢53420+12+52⁢514452+52+2,−514⁢12+5252+52−4,2⁢5⁢−12+52⁢53420−12+52⁢514452+52+5,2⁢5⁢12+52⁢53420−12+52⁢514452+52+2,−514⁢12+5252+52−4,2⁢514⁢12+5252+52+5,2,−4,−2⁢514⁢12+5252+52+5,2,−4
form - Return the form of the geometric object
tetrahedron(t,point(A,5,2,1),3);
t
form(t);
tetrahedron3d
gtetrahedron - Define a general tetrahedron
gtetrahedron(gt, [A, B, C, F]);
gt
form(gt);
gtetrahedron3d
incident - Return the vertices incident to a given vertex of a polyhedron
tetrahedron(t,point(A,0,0,0),4):
incident(t,2);
4⁢33,4⁢33,4⁢33,−4⁢33,4⁢33,−4⁢33,−4⁢33,−4⁢33,4⁢33
intersection - Find the intersections between two or three given objects
plane(pl1,[point(A,5,2,6),point(B,-6,1,2),point(C,5,-6,1)]):
plane(pl2,[point(D,26,-7,2),point(E,1,2,9),point(F,2,1,6)]):
intersection(ln1,pl1,pl2);
Equation(ln1,x);
−62223+5104⁢x,18723−1328⁢x,736⁢x
line - Define the lines
line(ln1,[point(A,56,2,6),point(B,2,-6,2)]);
name of the objectln1form of the objectline3dequation of the line_x=56−54⁢_t,_y=2−8⁢_t,_z=6−4⁢_t
midpoint - Find the midpoint of segment joining two points
segment(seg,[point(A,5,2,3),point(B,-3,2,1)]):
midpoint(C,seg);
detail(C);
name of the objectCform of the objectpoint3dcoordinates of the point1,2,2
parallel - Find a plane or line going through a given point or line, and parallel to a given line or plane
point(A,5,2,1):
plane(pl,[point(C,-2,3,1),point(D,7,34,6),point(E,6,-5,21)]):
parallel(parpl,A,pl);
parpl
Equation(parpl,[x,y,z]);
−2700+660⁢x−140⁢y−320⁢z=0
plane - Define the planes
plane(pl,[point(A,6,2,1),[7,4,-3]]);
name of the objectplform of the objectplane3dequation of the plane−47+7⁢_x+4⁢_y−3⁢_z=0
point - Define the points
point(A,[6,-43,2]);
detail(A);
name of the objectAform of the objectpoint3dcoordinates of the point6,−43,2
polar - Find the polar of a given point with respect to a given sphere
sphere(sph,[point(A,-2,1,5),3]):
point(B,5,2,3):
polar(pol,B,sph);
pol
detail(pol);
name of the objectpolform of the objectplane3dequation of the plane14+7⁢_x+_y−2⁢_z=0
pole - Find the pole of a given plane with respect to a given sphere
plane(pl,[point(B,3,5,1),point(C,6,-4,2),point(D,-2,3,5)]):
pole(pt,pl,sph);
name of the objectptform of the objectpoint3dcoordinates of the point−57,2314,9714
powerps - Calculate the power of a given point with respect to a given sphere
point(A,3,5,2):
sphere(sph,[point(B,6,2,1),3]):
powerps(A,sph);
10
radius - Find the radius of a given object
hexahedron(hexa,point(A,6,2,-6),3):
radius(hexa);
randpoint - Generate a random point in a given range, on a line, a plane, or a sphere
line(ln1,[point(A,6,2,2),point(B,-6,2,1)]):
randpoint(C,ln1);
schlafli - Return the schlafli symbol of a given polyhedron
tetrahedron(t,point(A,-8,9,3),3);
schlafli(t);
3,3
segment - Define a segment
segment(seg,point(A,5,2,6),point(B,-6,2,-9));
seg
detail(seg);
name of the objectsegform of the objectsegment3dthe 2 ends of the segment5,2,6,−6,2,−9
sides - The sides of a given triangle, a regular polyhedron, an Archimedean solid
triangle(tri,[point(A,5,2,6),point(B,-6,2,1),point(C,3,-9,0)]):
sides(tri);
146,203,161
sphere - Define the sphere
sphere(sph,[point(A,6,6,7),3]);
name of the objectsphform of the objectsphere3dname of the centerAcoordinates of the center6,6,7radius of the sphere3surface area of the sphere36⁢πvolume of the sphere36⁢πequation of the sphere_x2+_y2+_z2−12⁢_x−12⁢_y−14⁢_z+112=0
stellate - Define a stellation of a given polyhedron
stellate(stelicos,icosahedron(icos,point(A,6,2,2),3),25);
stelicos
tname - Find the name of the parameter used in the parametric equations of the given line
_EnvTName := 't';
_EnvTName≔t
line(ln1,[point(A,5,2,1),point(B,-2,1,9)]):
name of the objectln1form of the objectline3dequation of the line_x=5−7⁢t,_y=2−t,_z=1+8⁢t
tname(ln1);
triangle - Define the triangles
triangle(tri,[point(A,65,2,1),point(B,-2,1,5),point(C,-6,-2,-1)]);
detail(tri);
name of the objecttriform of the objecttriangle3dthe 3 vertices65,2,1,−2,1,5,−6,−2,−1
vertices - Return the vertices of a polyhedron, parallelepiped
triangle(tri,[point(A,5,2,6),point(B,8,-3,2),point(C,-6,2,-4)]):
vertices(tri);
5,2,6,8,−3,2,−6,2,−4
volume - Calculate the volume of a sphere, regular polyhedron
sphere(sph,[point(A,6,2,3),3]);
volume(sph);
36⁢π
xcoord - Find the ``x''-coordinate of a given point
point(A,5,2,1);
xcoord(A);
5
xname - Find the name of the x-axis used to define an object
sphere(sph,[point(A,6,2,-5),4]):
Equation(sph,[x,y,z]);
x2+y2+z2−12⁢x−4⁢y+10⁢z+49=0
xname(sph);
x
ycoord - Find the ``y''-coordinate of a given point
ycoord(A);
2
yname - Find the name of the y-axis used to define an object
yname(sph);
y
zcoord - Find the ``z''-coordinate of a given point
zcoord(A);
zname - Find the name of the z-axis used to define an object
zname(sph);
z
Archimedean solids
Archimedean - Define an Archimedean solid
Archimedean(argon,_t([5,3]),point(A,5,2,6),3);
argon
form(argon);
TruncatedDodecahedron3d
GreatRhombicuboctahedron - Define an Archimedean solid
GreatRhombiicosidodecahedron(gon,point(A,-5,2,1),3);
gon
form(gon);
RhombitruncatedIcosidodecahedron3d
GreatRhombiicosidodecahedron - Define an Archimedean solid
IsArchimedean - Check if the given polyhedron is an Archimedean solid
IsArchimedean(argon);
SmallRhombicuboctahedron - Define an Archimedean solid
SmallRhombicuboctahedron(gon,point(A,5,21,-9),2);
SmallRhombicuboctahedron3d
SmallRhombiicosidodecahedron - Define an Archimedean solid
SmallRhombiicosidodecahedron(gon,point(A,-6,1,-8),3);
SmallRhombiicosidodecahedron3d
SnubCube - Define an Archimedean solid
SnubCube(gon,point(A,-6,1,-8),3);
SnubCube3d
SnubDodecahedron - Define an Archimedean solid
SnubDodecahedron(gon,point(A,-6,1,-8),3);
SnubDodecahedron3d
TruncatedCuboctahedron - Define an Archimedean solid
TruncatedCuboctahedron(gon,point(A,-6,1,-8),3);
RhombitruncatedCuboctahedron3d
TruncatedDodecahedron - Define an Archimedean solid
TruncatedDodecahedron(gon,point(A,-6,1,-8),3);
TruncatedHexahedron - Define an Archimedean solid
TruncatedHexahedron(gon,point(A,-6,1,-8),3);
TruncatedHexahedron3d
TruncatedIcosahedron - Define an Archimedean solid
TruncatedIcosahedron(gon,point(A,-6,1,-8),3);
TruncatedIcosahedron3d
TruncatedIcosidodecahedron - Define an Archimedean solid
TruncatedIcosidodecahedron(gon,point(A,-6,1,-8),3);
TruncatedTetrahedron - Define an Archimedean solid
TruncatedTetrahedron(gon,point(A,-6,1,-8),3);
TruncatedTetrahedron3d
cuboctahedron - Define an Archimedean solid
icosidodecahedron - Define an Archimedean solid
icosidodecahedron(gon,point(A,-6,1,-8),3);
icosidodecahedron3d
Quasi-regular Polyhedra
IsQuasi - Check if the given polyhedron is quasi-regular
QuasiRegularPolyhedron(QRpoly,[[3],[4]],point(A,5,2,1),3):
IsQuasi(QRpoly);
Regular Polyhedra (geom3d cont'd...)
GreatDodecahedron - Define a regular polyhedron
GreatDodecahedron(gon,point(A,-6,1,-8),3);
GreatDodecahedron3d
GreatIcosahedron - Define a regular polyhedron
GreatIcosahedron(gon,point(A,-6,1,-8),3);
GreatIcosahedron3d
GreatStellatedDodecahedron - Define a regular polyhedron
GreatStellatedDodecahedron(gon,point(A,-6,1,-8),3);
GreatStellatedDodecahedron3d
InRadius - Return the in-radius of a regular polyhedron
InRadius(gon);
534⁢35⁢12+5232
IsRegular - Check if the given polyhedron is regular
IsRegular(gon);
MidRadius - Return the mid-radius of a regular polyhedron
MidRadius(gon);
3⁢5345⁢12+52
RegularPolyhedron - Define a regular polyhedron
RegularPolyhedron(gon,[5/2,5],point(A,-6,1,-8),3);
SmallStellatedDodecahedron - Define a regular polyhedron
SmallStellatedDodecahedron(gon,point(A,-6,1,-8),3);
SmallStellatedDodecahedron3d
cube - Define a regular polyhedron
cube(gon,point(A,-6,1,-8),3);
hexahedron3d
dodecahedron - Define a regular polyhedron
dodecahedron(gon,point(A,-6,1,-8),3);
dodecahedron3d
hexahedron - Define a regular polyhedron
hexahedron(gon,point(A,-6,1,-8),3);
icosahedron - Define a regular polyhedron
icosahedron(gon,point(A,-6,1,-8),3);
icosahedron3d
octahedron - Define a regular polyhedron
octahedron(gon,point(A,-6,1,-8),3);
octahedron3d
tetrahedron - Define a regular tetrahedron
tetrahedron(gon,point(A,-6,1,-8),3);
Duality
HexakisIcosahedron Define the reciprocal polyhedra of the icosahedron
HexakisIcosahedron(gon,point(A,-6,1,-8),3);
HexakisIcosahedron3d
HexakisOctahedron - Define the reciprocal polyhedra of the octahedron
HexakisOctahedron(gon,point(A,-6,1,-8),3);
HexakisOctahedron3d
PentagonalHexacontahedron - Define the reciprocal polyhedra of the hexacontahedron
PentagonalHexacontahedron(gon,point(A,-6,1,-8),3);
PentagonalHexacontahedron3d
PentagonalIcositetrahedron - Define the reciprocal polyhedra of the icositetrahedron
PentagonalIcositetrahedron(gon,point(A,-6,1,-8),3);
PentagonalIcositetrahedron3d
PentakisDodecahedron - Define the reciprocal polyhedra of the dodecahedron
PentakisDodecahedron(gon,point(A,-6,1,-8),3);
PentakisDodecahedron3d
RhombicDodecahedron - Define the reciprocal polyhedra of the dodecahedron
RhombicDodecahedron(gon,point(A,-6,1,-8),3);
RhombicDodecahedron3d
RhombicTriacontahedron - Define the reciprocal polyhedra of the triacontahedron
RhombicTriacontahedron(gon,point(A,-6,1,-8),3);
RhombicTriacontahedron3d
TetrakisHexahedron - Define the reciprocal polyhedra of the hexahedron
TetrakisHexahedron(gon,point(A,-6,1,-8),3);
TetrakisHexahedron3d
TrapezoidalHexecontahedron - Define the reciprocal polyhedra of the hexacontahedron
TrapezoidalHexecontahedron(gon,point(A,-6,1,-8),3);
TrapezoidalHexecontahedron3d
TrapezoidalIcositetrahedron - Define the reciprocal polyhedra of the icositetrahedron
TrapezoidalIcositetrahedron(gon,point(A,-6,1,-8),3);
TrapezoidalIcositetrahedron3d
TriakisIcosahedron - Define the reciprocal polyhedra of the icosahedron
TriakisIcosahedron(gon,point(A,-6,1,-8),3);
TriakisIcosahedron3d
TriakisOctahedron - Define the reciprocal polyhedra of the octahedron
TriakisOctahedron(gon,point(A,-6,1,-8),3);
TriakisOctahedron3d
TriakisTetrahedron - Define the reciprocal polyhedra of the tetrahedron
TriakisTetrahedron(gon,point(A,-6,1,-8),3);
TriakisTetrahedron3d
duality - Define the dual of a given polyhedron
duality(dgon,gon,sphere(sph,[A,MidRadius(gon)]));
dgon
Transformation
GlideReflect transformation that can be applied directly to a specific geometric object
GlideReflection
RotatoryReflect - A transformation without specifying the object to be applied
RotaryReflection
ScrewDisplace - A transformation without specifying the object to be applied
ScrewDisplacement
StretchRotate - A transformation without specifying the object to be applied
dilate - A transformation without specifying the object to be applied
Define t1 which is a homothety with ratio 3, center of homothety (0,0,0)
t1 := dilate(3,point(o,0,0,0));
t1≔dilate⁡3,o
homology - Find the space homology of a geometric object
plane(pl,[point(A,4,6,2),point(B,1,2,-3),point(C,-5,2,-9)]):
point(D,3,0,0):
line(ln1,[point(E,0,0,0),point(F,6,0,0)]):
homology(newform,pl,3,D,30,ln1);
newform
detail(newform);
name of the objectnewformform of the objectplane3dequation of the plane8⁢_x+_y⁢4⁢cos⁡30+8⁢sin⁡30+_z⁢−8⁢cos⁡30+4⁢sin⁡30−84636315391250000000−81536368461⁢cos⁡3021250000000−81536368461⁢sin⁡3021250000000=0
homothety - Find the homothety of a geometric object
point(A,-5,2,0), point(B,2,-6,1):
line(ln1,[A,B]):
homothety(newform,ln1,3,point(C,7,8,4));
name of the objectnewformform of the objectline3dequation of the line_x=−29+5129391309⁢t400000000,_y=−10−732770187⁢t50000000,_z=−8+732770187⁢t400000000
inverse - Find the inverse of a given product of transformations
point(A,1,0,0), point(B,0,0,1):
line(l1,[o,A]), line(l2,[o,B]):
plane(p,[l1,l2]):
dsegment(AB,[A,B]):
t2 := GlideReflect(p,AB);
t2≔GlideReflect⁡p,AB
t3 := ScrewDisplace(Pi/2,line(l3,[A,B]),AB);
t3≔ScrewDisplace⁡π2,l3,AB
q1 := transprod(t2^t1,t3);
q1≔transprod⁡dilate⁡13,o,reflect⁡p,translate⁡AB,dilate⁡3,o,rotate⁡π2,l3,translate⁡AB
q2 := inverse(q1);
q2≔transprod⁡translate⁡_AB,rotate⁡3⁢π2,l3,dilate⁡13,o,translate⁡_AB,reflect⁡p,dilate⁡3,o
inversion - Find the inversion of a point, plane, or sphere with respect to a given sphere
plane(pl,[point(A,4,-6,2),[5,2,1]]):
sphere(sph,[point(B,6,2,1),5]):
geom3d[inversion](sph1,pl,sph);
sph1
detail(sph1);
name of the objectsph1form of the objectsphere3dname of the centercenter_sph1_1coordinates of the center72,1,12radius of the sphere302surface area of the sphere30⁢πvolume of the sphere5⁢π⁢30equation of the sphere_x2+_y2+_z2−7⁢_x−2⁢_y−_z+6=0
projection - Find the projection of an object on the other object
point(A,3,6,1), point(B,-7,6,-9):
plane(pl,[B,[5,2,1]]):
projection(projectpt,A,pl);
projectpt
detail(projectpt);
name of the objectprojectptform of the objectpoint3dcoordinates of the point−7,2,−1
reflect - A transformation without specifying the object to be applied
tetrahedron(t,point(A,3,6,2),3):
ref := reflect(line(ln1,[point(B,3,2,1),point(C,7,-9,2)]));
ref≔reflect⁡ln1
reflection - Transformations that can be applied directly to a specific geometric object
point(A,5,2,1), point(B,-7,9,2), point(C,-3,-7,-9):
sphere(sph,[C,3]):
reflection(sph1,sph,ln1);
rotate - A transformation without specifying the object to be applied
point(A,-9,7,3):
point(B,6,3,7):
rot := rotate(Pi,ln1);
rot≔rotate⁡π,ln1
rotation - Transformations that can be applied directly to a specific geometric object
plane(pl,[point(A,-9,7,3),[3,-9,2]]):
rotation(pl1,pl,Pi,ln1);
pl1
detail(pl1);
name of the objectpl1form of the objectplane3dequation of the plane5290257+1899⁢_x257+1601⁢_y257+198⁢_z257=0
transform - Apply the ``result'' transformation to a specific geometric object
transform(t4,t,ref);
t4
form(t4);
translate - A transformation without specifying the object to be applied
point(A,5,2,-8), point(B,3,5,-1):
dsegment(dseg,A,B):
trans := translate(dseg);
trans≔translate⁡dseg
translation - Transformations that can be applied directly to a specific geometric object
triangle(tri,[point(C,5,2,-9),point(D,3,2,1),point(E,-9,3,5)]);
translation(tri1,tri,dseg);
tri1
detail(tri1);
name of the objecttri1form of the objecttriangle3dthe 3 vertices3,5,−2,1,5,8,−11,6,12
transprod - Converts a given transformation or product of transformations into a product of three ``primitive'' transformations (translate, rotate and dilate)
trans := translate(dseg):
prod := transprod(trans,rot);
prod≔transprod⁡translate⁡dseg,rotate⁡π,ln1
tetrahedron(t,point(C,6,2,6),2);
transform(t5,t,prod);
t5
form(t5);
fglm - Generalized FGLM algorithm
gbasis - Reduced Groebner basis
gsolve - Preprocess an algebraic system for solving
hilbertdim - The Hilbert dimension of an ideal
hilbertpoly - The Hilbert polynomial of an ideal
hilbertseries - The Hilbert series of an ideal
inter_reduce - Fully inter-reduce a list of polynomials
is_finite - Decide if a given algebraic system has (at most) finitely many solutions
is_solvable - Decide if a given algebraic system is algebraically consistent
leadcoeff - The leading coefficient of a polynomial
leadmon - The leading monomial of a polynomial
leadterm - The leading term of a polynomial
normalf - Normal form of a polynomial modulo an ideal
pretend_gbasis - Add a Groebner basis to the list of known ones
reduce - Full reduction of a polynomial
spoly - The S-polynomial of two skew polynomials
termorder - Create a term order
testorder - Test whether two terms are in increasing order with respect to a given term order
univpoly - The univariate polynomial of lowest degree in an ideal
For examples, please see the Ore Algebra example worksheet.
Ore_to_DESol - Convert a differential operator to a DESol structure
Ore_to_RESol - Convert a shift operator to a DESol structure
Ore_to_diff - Convert a differential operator to a differential equation
Ore_to_shift - Convert a shift operator to a recurrence equation
annihilators - Skew lcm of a pair of operators
applyopr - Apply an operator to a function
diff_algebra - Create an algebra of linear differential operators
poly_algebra - Create an algebra of commutative polynomials
qshift_algebra - Create an algebra of linear q-difference operators
rand_skew_poly - Random skew polynomial generator
shift_algebra - Create an algebra of linear difference operators
skew_algebra - Declare an Ore algebra
skew_elim - Skew elimination of an indeterminate
skew_gcdex - Extend skew gcd computation
skew_pdiv - Skew pseudo-division
skew_power - Power of an Ore algebra
skew_prem - Skew pseudo-remainder
skew_product - Inner product of an Ore algebra
charstrip - Find the characteristic strip corresponding to a given, first order PDE
PDE := x*diff(psi(x,y,z),z)-psi(x,y,z)+y^2*diff(psi(x,y,z),y) = 0;
PDE≔x⁢∂∂zψ⁡x,y,z−ψ⁡x,y,z+y2⁢∂∂yψ⁡x,y,z=0
PDEtools[charstrip](PDE,psi(x,y,z));
ⅆⅆ_sψ⁡_s=ψ⁡_s,ⅆⅆ_sx⁡_s=0,ⅆⅆ_sy⁡_s=y⁡_s2,ⅆⅆ_sz⁡_s=x⁡_s
dchange - Change variables in mathematical expressions
PDE := 1+psi(x,y)^2+y*diff(psi(x,y),x)-x*diff(psi(x,y),y);
PDE≔1+ψ⁡x,y2+y⁢∂∂xψ⁡x,y−x⁢∂∂yψ⁡x,y
TR := {x=r*cos(phi), y=r*sin(phi)};
TR≔x=r⁢cos⁡φ,y=r⁢sin⁡φ
PDEtools[dchange](TR, PDE, simplify);
ψ⁡φ,r2+1−∂∂φψ⁡φ,r
II := int(psi(r),r):
eq := useintat(II) = II;
eq≔∫` `rψ⁡_aⅆ_a=∫ψ⁡rⅆr
TR2 := {r=sqrt(y(x)^2+x^2),phi(r)=arctan(y(x)/x)};
TR2≔r=y⁡x2+x2,φ⁡r=arctan⁡y⁡xx
PDEtools[dchange](TR2,eq,known=psi);
∫` `y⁡x2+x2ψ⁡_aⅆ_a=∫ψ⁡y⁡x2+x2⁢2⁢y⁡x⁢ⅆⅆxy⁡x+2⁢x2⁢y⁡x2+x2ⅆx
mapde - Map a PDE to another PDE for easier solving
PDE1 := x^2*diff(psi(x,y),x,x)+2*y*x*diff(psi(x,y),x,y)+y^2*diff(psi(x,y),y,y);
PDE1≔x2⁢∂2∂x2ψ⁡x,y+2⁢y⁢x⁢∂2∂x∂yψ⁡x,y+y2⁢∂2∂y2ψ⁡x,y
PDEtools[mapde](PDE1, psi, canop);
_ξ12⁢∂2∂_ξ12ψ⁡_ξ1,_ξ2where_ξ1=x,_ξ2=yx
difforder - Evaluate the differential order of an expression
eq := diff(psi(x,y),x$2,y$3);
eq≔∂5∂x2∂y3ψ⁡x,y
PDEtools[difforder](eq), PDEtools[difforder](eq,x), PDEtools[difforder](eq,y);
5,2,3
pdsolve - Find analytical solutions for PDEs
PDE := Diff(r^2*diff(Phi(r,theta,phi),r),r) + 1/sin(theta)*Diff(sin(theta)*diff(Phi(r,theta,phi),theta),theta) + 1/sin(theta)^2*diff(diff(Phi(r,theta,phi),phi),phi) = 0;
PDE≔∂∂rr2⁢∂∂rΦ⁡r,θ,φ+∂∂θsin⁡θ⁢∂∂θΦ⁡r,θ,φsin⁡θ+∂2∂φ2Φ⁡r,θ,φsin⁡θ2=0
pdsolve(PDE);
Φ⁡r,θ,φ=f__1⁡r⁢f__2⁡θ⁢f__3⁡φwhereⅆ2ⅆr2f__1⁡r=f__1⁡r⁢_c1r2−2⁢ⅆⅆrf__1⁡rr,ⅆ2ⅆθ2f__2⁡θ=−f__2⁡θ⁢_c1+f__2⁡θ⁢_c2sin⁡θ2−cos⁡θ⁢ⅆⅆθf__2⁡θsin⁡θ,ⅆ2ⅆφ2f__3⁡φ=−f__3⁡φ⁢_c2
splitstrip - See charstrip
PDE := x*diff(psi(x,y,z),z)-psi(x,y,z)+y^2*diff(psi(x,y,z),y)=0;
PDEtools[splitstrip](PDE,psi(x,y,z));
ⅆⅆ_sψ⁡_s=ψ⁡_s,ⅆⅆ_sy⁡_s=y⁡_s2,ⅆⅆ_sx⁡_s=0,ⅆⅆ_sz⁡_s=x⁡_s
splitsys - Split sets of algebraic equations
sys := {x = r(x)*cos(phi(x)), y(x) = r(x)*sin(phi(x)), diff(psi(x),x) = cos(eta(x)), diff(eta(x),x) = psi(x)};
sys≔x=r⁡x⁢cos⁡φ⁡x,ⅆⅆxη⁡x=ψ⁡x,ⅆⅆxψ⁡x=cos⁡η⁡x,y⁡x=r⁡x⁢sin⁡φ⁡x
PDEtools[splitsys](sys,{psi,eta,r,phi}(x));
x=r⁡x⁢cos⁡φ⁡x,y⁡x=r⁡x⁢sin⁡φ⁡x,ⅆⅆxη⁡x=ψ⁡x,ⅆⅆxψ⁡x=cos⁡η⁡x
Download Help Document