PDEtools
build
build an explicit expression for the indeterminate function from the solution given by the pdsolve command for a PDE
Calling Sequence
Parameters
Description
Examples
build(sol)
sol
-
solution returned by the pdsolve command
This command takes a result given by pdsolve and uses it to arrive at an explicit expression for the indeterminate function of the corresponding PDE. This is particularly useful when the PDE was solved using separation of variables, with the corresponding introduction of ODEs, or when automatic changes of variables were realized. In these cases, build will attempt to integrate these ODEs or reintroduce the original variables (or both).
Given a PDE, there are three ways to directly obtain, when possible, a concrete expression for the indeterminate function of the problem, without dealing with the intermediate structure returned by pdsolve. These are:
build(pdsolve(PDE));
This builds the result of pdsolve. Alternatively, you can use
pdsolve(PDE, build);
Finally, you can assign the environment variable _EnvBuildPdsolve to 2 and pdsolve will build any returned result.
_EnvBuildPdsolve := 2;
Although you can assign _EnvBuildPdsolve≔2 to directly receive an expression for the indeterminate function, in many cases pdsolve will obtain a result which is not the most general. In those cases, it would be preferable to display the PDE solution structure obtained with the default _EnvBuildPdsolve≔1. That structure contains information relevant to finding a general solution; for instance, using the HINT option of pdsolve and the dchange command.
When, for any reason, a concrete expression for the indeterminate function cannot be built, then partially built results are returned using the same internal PDESolStruc function used by pdsolve (see ?pdsolve).
This function is part of the PDEtools package, and so it can be used in the form build(..) only after executing the command with(PDEtools). However, it can always be accessed through the long form of the command by using PDEtools[build](..).
with⁡PDEtools:
PDE≔x2⁢diff⁡f⁡x,y,x+y⁢diff⁡f⁡x,y,y+diff⁡f⁡x,y,y2+diff⁡f⁡x,y,x=0
PDE≔x2⁢∂∂xf⁡x,y+y⁢∂∂yf⁡x,y+∂∂yf⁡x,y2+∂∂xf⁡x,y=0
ans≔pdsolve⁡PDE
ans≔f⁡x,y=f__1⁡x+f__2⁡ywhereⅆⅆyf__2⁡y2=−y⁢ⅆⅆyf__2⁡y−_c1,ⅆⅆxf__1⁡x=_c1x2+1
build⁡ans
f⁡x,y=_c1⁢arctan⁡x+c__1−y24−y⁢y2−4⁢_c14+_c1⁢ln⁡y+y2−4⁢_c1+c__2
PDE≔diff⁡f⁡x,y,y⁢sin⁡xx⁢y+diff⁡f⁡x,y,x2⁢sin⁡yx⁢y=0
PDE≔∂∂yf⁡x,y⁢sin⁡xx⁢y+∂∂xf⁡x,y2⁢sin⁡yx⁢y=0
pdsolve⁡PDE,build
f⁡x,y=−∫_c1⁢sin⁡xⅆx+c__1+_c1⁢cos⁡y+c__2
See Also
dchange
dsolve
pdetest
pdsolve
Download Help Document