PDEtools[Solve]  unified command to compute exact, series, or numerical solutions, possibly independent of indicated variables, for systems of algebraic or differential equations, possibly including inequations, initial values, or boundary conditions

Calling Sequence


Solve(sys, solving_variables, options=value)


Parameters


sys



algebraic and/or differential equation, or a set of list of them possibly containing inequations and initial or boundary conditions

solving_variables



name or a function or a set or list (indicates solving ordering) of them that could include both names and functions, possibly ranked in sublists, altogether indicating the solving variables

algebraically = ...



(optional) true or false (default value); indicates that the solving variables and their derivatives are to be considered objects independent of each other when solving for the variables

independentof = ...



(optional) name or a set or list of them indicating that the solutions computed must be independent of these names

implicit



(optional) to return solutions when they are in implicit form  by default these solutions are discarded and only explicit solutions are returned

overridefunctiondependency = ...



(optional) true (default value) or false, to override the dependency of a solving function with respect to variables indicated in independentof = ...

simplifier = ..



(optional) can be any valid Maple object or procedure; its default value is simplify

solver = ..



(optional) can be solve, dsolve, pdsolve, fsolve, or any of the PDEtools commands FunctionFieldSolutions, InvariantSolutions, PolynomialSolutions or SimilaritySolutions.

..other..



(optional) numeric or series or any of the optional arguments accepted by solve, dsolve, pdsolve, fsolve, or the solver specified with the option solver = ...





Description


•

The Solve command computes the value of solving_variables that solves a system of equations sys. The system being solved can involve algebraic or differential equations, or both. You can request an exact (default), numeric, or series solution (respectively use the option numeric or series). In this sense, Solve is a unified command that understands when to call solve, fsolve, dsolve, or pdsolve according to your input, also facilitating the analysis of different types of solutions by just adding the keywords series or numeric.

•

In addition of being a single interface with unified syntax for various Maple solvers, Solve permits computing exact, numeric, and series solutions that are independent of certain variables, indicated with the option independentof = ..., where the righthand side can be a name, or a set or list of them. This is particularly useful when solving (typically nonpolynomial) algebraic expressions with respect to some names and where the solutions desired shall not depend on some of the other names present in the system. The solutions returned are thus valid for arbitrary values of those other names. This option is also useful when computing solutions to partial differential equations and the solutions desired shall not depend on some of the variables of the problem.

•

For all kinds of systems, algebraic, differential, or mixed, when the system can be solved, the output consists of a sequence of equations with the solving variable isolated in the lefthand side, when sys is one equation and solving_variables one solving variable, and a sequence of sets of such equations when there is more than one solving variable or equation, or when any of them is passed as a set or list.

•

As is the case of other solvers, for Solve the unknowns may or not be specified. When the unknowns are specified (as a name, function, or a set or list of them, possibly including nested sets or lists indicating solving rankings as explained in casesplit), only these ones specified are considered unknowns and any other function is considered arbitrary. The solution is then expected to be valid for arbitrary values of these arbitrary functions. On the other hand, when the unknowns are not specified, all functions  differentiated or not  are considered unknowns, and when there are no functions then all names that are not constants are taken as the unknowns.

•

In all cases, when no solution is found or the solutions cannot be turned explicit, Solve returns NULL. To receive implicit solutions that some solvers can compute, for instance by dsolve, pdsolve, or solve, use the option implicit. Also, passing the optional argument parametric accepted by some solvers automatically turns ON the option implicit of Solve.

•

When restricting the dependency of the solutions with the option independentof = ..., one may or may not want to override with that statement the dependency of the solving functions of the problem. For this purpose use the additional optional argument overridefunctiondependency = false. For example, that permits computing solutions with some unknowns independent of the independentof = ... variables while other unknowns do depend on them. The default behavior is overridefunctiondependency = true so that all the righthand sides of the solutions returned will be independent of the indicated variables.



Compatibility


•

The implicit and algebraically options were introduced in Maple 15.



Examples


>


 (1) 

Unified solver for computing exact, series, and numeric solutions



Solve solves systems of equations with respect to solving variables, automatically calling the appropriate solver for your input.

>


 (2) 
>


 (3) 

A numeric solution for independent of

>


 (4) 

Exact and series solutions for an ODE

>


 (5) 
>


 (6) 
>


 (7) 
>


 (8) 

A PDE problem, also with boundary conditions

>


 (9) 
>


 (10) 
>


 (11) 
>


 (12) 

Numerical solution for a PDE with boundary conditions

>


 (13) 
>


 (14) 
>



A mixed algebraic and PDE system in four unknowns {a, b, f(x, y), g(x, y)},

>


 (15) 
When the solving variables of a problem involve both functions and names, as in , the solutions for the names (here and ) will be independent of the dependency of the solving functions (here independent of and )
>


 (16) 
In the first solution above we see that and are related, so the system can be solved with respect to three variables; also the second solution has lower dimension, so it is a singular solution. Solve this problem with respect to three variables, discard singular solutions, and use the DifferentialAlgebra package for the intermediate differential elimination computations (optional argument diffalg of pdsolve)
>


 (17) 


Exact, series, and numeric solutions independentof



In the examples of the previous section the advantage with regards to calling solve, fsolve, dsolve, and pdsolve is in using a single command and having a unified format for the input and output, that allows for computing exact, series, or numeric solutions. Solve, however, also provides additional functionality: it can compute solutions independent of indicated variables

>


 (18) 
>


 (19) 

The system being solved using independentof can also contain inequations

>


 (20) 
>


 (21) 

Solutions that are independent of the specified variables can be computed as well for differential equations or systems of them; this is a PDE example

>


 (22) 

The general solution of is

>


 (23) 
>


 (24) 
>


 (25) 
>


 (26) 
>


 (27) 


