PDEtools
ConsistencyTest
tests whether a given system of equations is or not consistent.
Calling Sequence
Parameters
Description
Examples
ConsistencyTest(S, PDESYS, DepVars)
PDESYS
-
a PDE or a set or list of them; it can include ODEs and non-differential equations or inequations
DepVars
optional - may be required; a function or a list of them indicating the dependent variables of the problem
outputthesystem
optional - to return a system equivalent to PDESYS simplified with respect to its integrability conditions
no_Fn
optional, related to outputthesystem, to specify that all auxiliary functions _Fn (n integer) introduced in the process are to be eliminated before outputting
ConsistencyTest tests whether a system of equations, possibly containing inequations and involving or not differential equations, is or not consistent. A system is inconsistent when one of its equations contradicts one other one. In order to be solvable, a system must be consistent in the first place.
If DepVars is not specified, ConsistencyTest will consider all the differentiated unknown functions in PDESYS as unknown of the problems.
By default, ConsistencyTest returns true or false. If the system is consistent when the option argument outputthesystem is specified, ConsistencyTest returns three lists with equations, inequations and function replacements to represent PDESYS in differential polynomial form, where the equations and inequations are equivalent to PDESYS simplified with respect to its integrability conditions. These three lists returned can also be computed using dpolyform, but the number of operations performed to compute it is smaller when using ConsistencyTest. If PDESYS happens to be inconsistent and outputthesystem is specified ConsistencyTest returns NULL.
To obtain output without auxiliary functions when outputthesystem is specified use in addition the optional argument no_Fn.
with⁡PDEtools:
declare⁡f⁡x,y,g⁡x,y
f⁡x,y⁢will now be displayed as⁢f
g⁡x,y⁢will now be displayed as⁢g
sys1≔diff⁡f⁡x,y,y,y=0,−6⁢diff⁡f⁡x,y,y⁢y+diff⁡g⁡x,y,y,y−2⁢diff⁡f⁡x,y,x,y=0,−9⁢diff⁡f⁡x,y,y⁢a⁢y2−12⁢diff⁡f⁡x,y,y⁢a2⁢y−3⁢diff⁡f⁡x,y,y⁢b−3⁢diff⁡f⁡x,y,x⁢y+2⁢diff⁡g⁡x,y,x,y−diff⁡f⁡x,y,x,x−3⁢g⁡x,y=0,−6⁢g⁡x,y⁢a⁢y−6⁢diff⁡f⁡x,y,x⁢a⁢y2−8⁢diff⁡f⁡x,y,x⁢a2⁢y+3⁢diff⁡g⁡x,y,y⁢a⁢y2+4⁢diff⁡g⁡x,y,y⁢a2⁢y−4⁢g⁡x,y⁢a2−2⁢diff⁡f⁡x,y,x⁢b+diff⁡g⁡x,y,y⁢b−3⁢y⁢diff⁡g⁡x,y,x+diff⁡g⁡x,y,x,x=0
sys1≔fy,y=0,−6⁢fy⁢y+gy,y−2⁢fx,y=0,−9⁢fy⁢a⁢y2−12⁢fy⁢a2⁢y−3⁢fy⁢b−3⁢fx⁢y+2⁢gx,y−fx,x−3⁢g=0,−6⁢g⁢a⁢y−6⁢fx⁢a⁢y2−8⁢fx⁢a2⁢y+3⁢gy⁢a⁢y2+4⁢gy⁢a2⁢y−4⁢g⁢a2−2⁢fx⁢b+gy⁢b−3⁢y⁢gx+gx,x=0
ConsistencyTest⁡sys1
true
Let's see the actual form of the consistent system sys[1] after its integrability conditions are taken into account
ConsistencyTest⁡sys1,outputthesystem
g=0,fx=0,fy=0,,
Construct an inconsistent system departing from sys[1], by multiplying any two of its equations (both are equal to zero) and equating the result to 1
sys2≔op⁡sys1,expand⁡lhs⁡sys11⁢lhs⁡sys12=1
sys2≔fy,y=0,−6⁢fy⁢y+gy,y−2⁢fx,y=0,−9⁢fy⁢a⁢y2−12⁢fy⁢a2⁢y−3⁢fy⁢b−3⁢fx⁢y+2⁢gx,y−fx,x−3⁢g=0,−6⁢g⁢a⁢y−6⁢fx⁢a⁢y2−8⁢fx⁢a2⁢y+3⁢gy⁢a⁢y2+4⁢gy⁢a2⁢y−4⁢g⁢a2−2⁢fx⁢b+gy⁢b−3⁢y⁢gx+gx,x=0,−6⁢fy,y⁢fy⁢y+fy,y⁢gy,y−2⁢fy,y⁢fx,y=1
ConsistencyTest⁡sys2
false
When the system is inconsistent and the option outputthesystem` is received, ConsistencyTest returns NULL and a related warning message is displayed
ConsistencyTest⁡sys2,outputthesystem
Warning: System is inconsistent
An example involving mathematical functions (exp)
sys3≔diff⁡f⁡x,y,y,y=0,−6⁢diff⁡f⁡x,y,y⁢y+diff⁡g⁡x,y,y,y−2⁢diff⁡f⁡x,y,x,y=0,−9⁢diff⁡f⁡x,y,y⁢a⁢y2−12⁢diff⁡f⁡x,y,y⁢a2⁢y−3⁢diff⁡f⁡x,y,y⁢b−3⁢diff⁡f⁡x,y,x⁢y+2⁢diff⁡g⁡x,y,x,y−diff⁡f⁡x,y,x,x−3⁢exp⁡x−3⁢g⁡x,y=0,−6⁢exp⁡x+g⁡x,y⁢a⁢y−6⁢diff⁡f⁡x,y,x⁢a⁢y2−8⁢diff⁡f⁡x,y,x⁢a2⁢y+3⁢diff⁡g⁡x,y,y⁢a⁢y2+4⁢diff⁡g⁡x,y,y⁢a2⁢y−4⁢exp⁡x+g⁡x,y⁢a2−2⁢diff⁡f⁡x,y,x⁢b+diff⁡g⁡x,y,y⁢b−3⁢y⁢exp⁡x+diff⁡g⁡x,y,x+exp⁡x+diff⁡g⁡x,y,x,x=0
sys3≔fy,y=0,−6⁢fy⁢y+gy,y−2⁢fx,y=0,−9⁢fy⁢a⁢y2−12⁢fy⁢a2⁢y−3⁢fy⁢b−3⁢fx⁢y+2⁢gx,y−fx,x−3⁢ⅇx−3⁢g=0,−6⁢ⅇx+g⁢a⁢y−6⁢fx⁢a⁢y2−8⁢fx⁢a2⁢y+3⁢gy⁢a⁢y2+4⁢gy⁢a2⁢y−4⁢ⅇx+g⁢a2−2⁢fx⁢b+gy⁢b−3⁢y⁢ⅇx+gx+ⅇx+gx,x=0
ConsistencyTest⁡sys3
The output with three lists, typical of dpolyform, showing the consistent form of sys[3], involves an auxiliary function _F1 to represent in differential polynomial form the system originally containing exp
ConsistencyTest⁡sys3,outputthesystem
g=−_F1⁡x,y,fx=0,fy=0,,_F1⁡x,y=ⅇx
The output typical of casesplit for the same system does not contain auxiliary functions; to obtain it use the optional argument no_Fn
ConsistencyTest⁡sys3,outputthesystem,no_Fn
g=−ⅇx,fx=0,fy=0where
To compute a form of the system which does not involve auxiliary functions _Fn and also is entirely differential polynomial, so it does not involve mathematical functions, use dpolyform
dpolyform⁡sys3,no_Fn
fx=0,fy=0,gx=g,gy=0whereg≠0
Note however that, depending on the example, the elimination of the auxiliary functions as in the output above may be an expensive computational process.
See Also
casesplit
declare
dpolyform
Download Help Document