PDEtools
ReducedForm
reduces one given PDE system with respect to another given PDE system
Calling Sequence
Parameters
Description
Examples
ReducedForm(PDESYS_1, PDESYS_2, RedVars)
PDESYS_1
-
a PDE or a set or list of them; it can include ODEs and non-differential equations
PDESYS_2
same as PDESYS_1
RedVars
optional - may be required; a function or a list of them indicating the (reducing) variables of the problem
checkconsistency
optional - check whether the two systems PDESYS_1 and PDESYS_2 are consistent between themselves before reducing PDESYS_1
ReducedForm receives two PDE systems, PDESYS_1 and PDESYS_2, in that order, and reduces PDESYS_1 with respect to PDESYS_2. In some sense, ReducedForm is the "differential equation" command equivalent to simplify/siderels. ReducedForm also works with anticommutative variables set using the Physics package using the approach explained in PerformOnAnticommutativeSystem.
Generally speaking, that is equivalent to taking the highest derivative of each equation in PDESYS_2, isolating it and using the equation to replace occurrences of this highest derivative in PDESYS_1, and at the end simplifying the resulting system taking into account its integrability conditions. In more technical words, the output is the reduced form of PDESYS_1 modulo the radical differential ideal of PDESYS_2
If RedVars is not specified, ReducedForm will consider all the differentiated unknown functions in PDESYS_2 as (reducing) variables of the problems.
The reduction process performed by ReducedForm consists of the following steps
[-] Departing from PDESYS_1 = [eq1, eq2, ...], a new system PDESYS_tmp = [Y1 - eq1, Y1 - eq2, ..., Yn - eqn] is constructed introducing a set of auxiliary variables {Y1, ..., Yn}, where n is the number of equations in PDESYS_1.
[-] One new system of equations is now built with the equations in PDESYS_tmp and in PDESYS_2 and a differential elimination process is ran ranking the auxiliary variables Yn higher than the dependent (reducing) variables - say F1 ... Fk - of PDESYS_2. So this ranking is of the form [[Y1, ... Yn], [F1, ... Fk]] and hence the elimination process runs using lexicographical ordering when comparing any Yn with any Fk but with the less expensive total degree ordering when comparing the Yn between themselves and the Fk between themselves.
[-] From the output of the differential elimination process, only the equations containing the Yn are preserved, so substituting the auxiliary Yn by zero results in the desired reduction of PDESYS_1 with respect to PDESYS_2, with the maximum number of Fk removed from the problem.
Note that it is possible to reduce one PDE system (PDESYS_1) using another one (PDESYS_2) in cases where the two systems are not consistent with each other, and that generally speaking the reduction obtained is useless in that its solution does not solve any of the two given systems. So you may want to request a check for consistency before proceeding with the reduction - for this purpose add the keyword checkconsistency anywhere in the calling sequence passed to ReducedForm - an example of this is at the end of the Examples section.
To avoid having to remember the optional keywords, if you type the keyword misspelled, or just a portion of it, a matching against the correct keywords is performed, and when there is only one match, the input is automatically corrected.
To input PDE systems conveniently, avoiding redundant typing, and to display these systems compactly, without redundancies, use diff_table and declare
with⁡PDEtools,ReducedForm,declare,diff_table,dsubs
ReducedForm,declare,diff_table,dsubs
U≔diff_table⁡u⁡x,y,z,t:
declare⁡u⁡x,y,z,t
u⁡x,y,z,t⁢will now be displayed as⁢u
Consider now the PDE system
pde1≔Ux,y,z+Ut,y,z+Ut,x,z−Ut,t
pde1≔ux,y,z+ut,y,z+ut,x,z−ut,t
Reduce it using:
pde2≔Ux=0
pde2≔ux=0
ReducedForm⁡pde1,pde2
ut,y,z−ut,twhere
In some cases, as this example above, the same result can be obtained using dsubs in a less expensive computational way.
dsubs⁡pde2,pde1
ut,y,z−ut,t
Note that the reduced forms returned by dsubs and ReducedForm do not include the reducing equation pde[2]. Consider the difference between these reductions and a casesplitting of the system conformed by both pde[1] and pde[2]: the output may be similar and may include pde[2] (or its differential consequences)
PDEtools:-casesplit⁡pde1,pde2
ut,y,z=ut,t,ux=0where
A more involved example where, by construction, the reduced form is zero; use declare to display the equations compactly, without redundancies
declare⁡u,v⁡x,y
u⁡x,y⁢will now be displayed as⁢u
v⁡x,y⁢will now be displayed as⁢v
U,V≔diff_table⁡u⁡x,y,diff_table⁡v⁡x,y:
PDESYS_2≔V⁢Ux,x−Vx,Ux,y⁢Vy,Vy,y2−1
PDESYS_2≔ux,x⁢v−vx,ux,y⁢vy,vy,y2−1
Construct now PDESYS_1 as a (possibly nonlinear) combination of lists constructed using PDESYS_2, for instance the derivative with respect to x of the square of each equation in PDESYS_2 minus the derivative with respect to y of of the same equation
PDESYS_1≔diff⁡map⁡`^`,PDESYS_2,2,x−diff⁡PDESYS_2,y
PDESYS_1≔−ux,x,y⁢v−ux,x⁢vy+vx,y+2⁢ux,x⁢v−vx⁢ux,x,x⁢v+ux,x⁢vx−vx,x,−ux,y,y⁢vy−ux,y⁢vy,y+2⁢ux,y⁢vy2⁢ux,x,y+2⁢ux,y2⁢vy⁢vx,y,−2⁢vy,y⁢vy,y,y+4⁢vy,y2−1⁢vy,y⁢vx,y,y
By construction, thus, PDESYS_1 is completely reduced by PDESYS_2
ReducedForm⁡PDESYS_1,PDESYS_2
0,0,0where
Consider two systems that are inconsistent with each other, that is: the solutions of one system can never be solutions of the other one, for example:
ode1≔diff⁡y⁡x,x,x=−α−β⁢y⁡x⁢x2−2⁢x⁢diff⁡y⁡x,xx2
ode1≔yx,x=−α−β⁢y⁡x⁢x2−2⁢x⁢yxx2
ode2≔diff⁡y⁡x,x=−h⁢y⁡x−κρ
ode2≔yx=−h⁢y⁡x−κρ
You can directly test the consistency of two equations using casesplit
PDEtools:-casesplit⁡ode1,ode2
Warning: System is inconsistent
Nevertheless, if you substitute in ode[1] the value of y' from ode[2] you obtain an expression involving y(x)
dsubs⁡ode2,ode1
h2⁢y⁡x−κρ2=−y⁡x⁢β⁢ρ⁢x+α⁢ρ⁢x−2⁢h⁢y⁡x+2⁢h⁢κx⁢ρ
isolate⁡,y⁡x
y⁡x=−α⁢ρ2⁢x+h2⁢x⁢κ−2⁢h⁢κ⁢ρβ⁢ρ2⁢x+h2⁢x−2⁢h⁢ρ
Because the systems are inconsistent with each other, this value of y(x) solves neither ode[1] nor ode[2]:
odetest⁡,ode1,ode2
h⁢β3⁢h⁢κ⁢ρ4⁢x4+α⁢β2⁢h⁢ρ4⁢x4−2⁢β3⁢κ⁢ρ5⁢x3+2⁢β2⁢h3⁢κ⁢ρ2⁢x4−2⁢α⁢β2⁢ρ5⁢x3+2⁢α⁢β⁢h3⁢ρ2⁢x4−8⁢β2⁢h2⁢κ⁢ρ3⁢x3+β⁢h5⁢κ⁢x4−8⁢α⁢β⁢h2⁢ρ3⁢x3+α⁢h5⁢x4+8⁢β2⁢h⁢κ⁢ρ4⁢x2−6⁢β⁢h4⁢κ⁢ρ⁢x3+8⁢α⁢β⁢h⁢ρ4⁢x2−6⁢α⁢h4⁢ρ⁢x3+12⁢β⁢h3⁢κ⁢ρ2⁢x2+12⁢α⁢h3⁢ρ2⁢x2−8⁢β⁢h2⁢κ⁢ρ3⁢x−8⁢α⁢h2⁢ρ3⁢x−8⁢β⁢h⁢κ⁢ρ4−8⁢α⁢h⁢ρ4x⁢β⁢ρ2⁢x+h2⁢x−2⁢h⁢ρ3,−ρ⁢h⁢β2⁢κ⁢ρ2⁢x2+α⁢β⁢ρ2⁢x2+β⁢h2⁢κ⁢x2+α⁢h2⁢x2−2⁢β⁢h⁢κ⁢ρ⁢x−2⁢α⁢h⁢ρ⁢x−2⁢β⁢κ⁢ρ2−2⁢α⁢ρ2β⁢ρ2⁢x+h2⁢x−2⁢h⁢ρ2
So calling ReducedForm you would obtain the reduction obtained above using dsubs, which is of no use generally speaking.
ReducedForm⁡ode1,ode2
ρ2⁢y⁡x⁢β⁢x+α⁢ρ2⁢x+y⁡x⁢h2⁢x−h2⁢x⁢κ−2⁢ρ⁢y⁡x⁢h+2⁢h⁢κ⁢ρρ2⁢xwhere
isolate⁡op⁡1,1,,y⁡x
The optional argument checkconsistency is of use in these situations, enforcing a check for consistency between the two systems, and when the systems are not consistent an error is returned
ReducedForm⁡ode1,ode2,checkconsistency
Error, (in PDEtools:-ReducedForm) the given systems of equations are inconsistent with each other
ReducedForm also works with anticommutative variables, using the approach explained in PerformOnAnticommutativeSystem.
with⁡Physics
`*`,`.`,Annihilation,AntiCommutator,Antisymmetrize,Assume,Bra,Bracket,Check,Christoffel,Coefficients,Commutator,CompactDisplay,Coordinates,Creation,D_,Dagger,Decompose,Define,Dγ,DiracConjugate,Einstein,EnergyMomentum,Expand,ExteriorDerivative,Factor,FeynmanDiagrams,FeynmanIntegral,Fundiff,Geodesics,GrassmannParity,Gtaylor,Intc,Inverse,Ket,KillingVectors,KroneckerDelta,LagrangeEquations,LeviCivita,Library,LieBracket,LieDerivative,Normal,NumericalRelativity,Parameters,PerformOnAnticommutativeSystem,Projector,Psigma,Redefine,Ricci,Riemann,Setup,Simplify,SortProducts,SpaceTimeVector,StandardModel,Substitute,SubstituteTensor,SubstituteTensorIndices,SumOverRepeatedIndices,Symmetrize,TensorArray,Tetrads,ThreePlusOne,ToContravariant,ToCovariant,ToFieldComponents,ToSuperfields,Trace,TransformCoordinates,Vectors,Weyl,`^`,dAlembertian,d_,diff,g_,gamma_
Set first θ and Q as suffixes for variables of type/anticommutative (see Setup)
Setup⁡anticommutativepre=Q,θ
* Partial match of 'anticommutativepre' against keyword 'anticommutativeprefix'
_______________________________________________________
anticommutativeprefix=Q,θ
A PDE system example with one unknown anticommutative function Q of four variables, two commutative and two anticommutative; to avoid redundant typing in the input that follows and redundant display of information on the screen, use PDEtools:-declare, and PDEtools:-diff_table, that also handles anticommutative variables by automatically using Physics:-diff when Physics is loaded
PDEtools:-declare⁡Q⁡x,y,θ1,θ2
Q⁡x,y,θ1,θ2⁢will now be displayed as⁢Q
q≔PDEtools:-diff_table⁡Q⁡x,y,θ1,θ2:
Now we can enter derivatives directly as the function's name indexed by the differentiation variables and see the display the same way; two PDEs
pde1≔qx,y,θ1+qx,y,θ2−qy,θ1,θ2=0
pde1≔Qx,y,θ1+Qx,y,θ2−Qy,θ1,θ2=0
pde2≔qθ1=0
pde2≔Qθ1=0
By inspection, it is clear that pde[1] is reducible by pde[2]
Qx,y,θ2where
One way of solving this PDE system is then to start solving this reduced equation
pdsolve⁡
Q=f__9⁡x,y⁢_λ1+f__10⁡x,y⁢θ1+f__6⁡x+f__5⁡y⁢θ2+f__8⁡x+f__7⁡y⁢_λ2⁢θ1⁢θ2
Substituting this result for Q back into pde[2], then multiplying by θ1 and subtracting from the above gives the PDE system solution, that in this case can also be obtained passing the whole system directly to pdsolve.
See Also
casesplit
declare
diff_table
DifferentialAlgebra
DifferentialAlgebra[ReducedForm]
dsubs
PerformOnAnticommutativeSystem
Physics
Setup
Download Help Document