Expanded the ability to solve nonlinear 2nd order ODEs, perform differential elimination, and solve PDEs with Boundary Conditions
For Partial differential equations with boundary condition (PDE and BC) see the corresponding what's new in Partial Differential Equations with Boundary Conditions. What follows below describes the novelties in solving nonlinear Ordinary Differential Equations of second order, as well as the new differential elimination package DifferentialThomas.
Nonlinear Ordinary Differential Equations of 2nd order that do not admit Lie point symmetries
New DifferentialThomas package for performing differential elimination
Maple 2018 continues to push the frontiers in differential equation solving and extends its lead in computing closed-form solutions to differential equations, adding even more classes of problems that can be handled. The four new ODE classes solvable in this release do not admit point symmetries. The method used is based on the S-function method (see dsolve/references) and a generalization of it to classes of equations with infinitely many members.
To display special functions using textbook notation, use extended typesetting and enable the typesetting of mathematical functions.
interfacetypesetting = extended: Typesetting:-EnableTypesetRuleTypesetting:-SpecialFunctionRules:
Representatives of the four classes are as follows
y⁡x⁢will now be displayed as⁢y
derivatives with respect to⁢x⁢of functions of one variable will now be displayed with '
ode1 ≔ diffyx, x, x = −diffyx, x⋅x4−4 x3+yxx4+yx
sol1 ≔ dsolveode1
To verify that ode does not admit point symmetries, construct the determining system and solve it
xi⁡x,y⁢will now be displayed as⁢ξ
eta⁡x,y⁢will now be displayed as⁢η
In this easy case, it suffices to run a differential elimination round (see PDEtools:-casesplit) to verify, without actually solving the PDE system (6), that in only admits trivial solutions, i.e. no point symmetries
A representative of Non Point Symmetries Class II
ode2 ≔ diff⁡diff⁡y⁡x,x,x=−x+2⁢diff⁡y⁡x,x2+x2−x−y⁡x⁢diff⁡y⁡x,x+y⁡x⁢x+1x2+y⁡x
sol2 ≔ dsolveode2
Representatives of the other classes
sol3 ≔ dsolveode3
ode4 ≔ diff⁡diff⁡y⁡x,x,x=diff⁡y⁡x,x−1⁢y⁡x+diff⁡y⁡x,x⁢x+1x⁢y⁡x+1
sol4 ≔ dsolveode4
Previous Maple versions already include differential eliminations package, state-of-the-art, as DEtools[rifsimp] and DifferentialAlgebra, that use different methods to perform differential elimination, a key process towards decoupling a system of differential equations.
Maple 2018 adds a third elimination package, DifferentialThomas, which uses yet another method, in this way succeeding in triangularizing some nonlinear DE systems that cannot be handled in practical time by the previous two existing packages. Also, both DEtools[rifsimp] and DifferentialThomas when used through the PDEtools:-casesplit command admit a case time limit option. Combining different methods with a case-time-limit option is extremely useful in that branches of the splitting of nonlinear systems that cannot be handled in practical time by one package frequently can now be reconstructed and handled by the other one.
In addition, the new DifferentialThomas returns a disjoint decomposition of the given system, that is a decomposition where the solution of each case has no intersection with the solutions of the other cases (are not particular cases of the other other cases returned, as it may happen with the decompositions returned by DEtools[rifsimp] and DifferentialAlgebra)
ODE ≔ 2 ⋅ yx⋅ diffyx, x, x−diffyx, x23+32⋅ diffyx, x, x⋅x⋅diffyx, x, x−diffyx, x3
This is one of Kamke's book 2nd order nonlinear examples, and is now decomposed into five disjoint cases - the general and four singular cases. This problem cannot be decomposed with DEtools[rifsimp] or DifferentialAlgebra
When calling PDEtools:-casesplit, to indicate the use of the DifferentialThomas package, pass the package's name as additional argument (the same holds for RIF and DifferentialAlgebra)
One can also call directly the package commands with a list of differential equations as first argument and the ranking set by the package's Ranking command
for DifferentialSystem in do DisplayDifferentialSystem od;
Download Help Document