The PDE & BC project, started five years ago implementing some of the basic methods found in textbooks to match arbitrary functions and constants to given PDE boundary conditions of different kinds. One frequent problem is that of a 1st order PDE that can be solved without boundary conditions in terms of an arbitrary function, and where a single boundary condition (BC) is given for the PDE unknown function, and this BC does not depend on the independent variables of the problem. The problem can be solved making simple, however, ingenious use of differential invariants to match the boundary condition.
The examples that can now be handled using this new method, although restricted in generality to "only one 1st order linear or nonlinear PDE and only one boundary condition for the unknown function itself", illustrate well how powerful it can be to use more advanced methods.
First consider a linear example, among the simplest one could imagine:
Now, input a boundary condition (BC) for the unknown such that this BC does not depend on the independent variables ; this BC can, however, depend on arbitrary symbolic parameters. For instance:
This kind of problem can now be solved in one step:
To verify this result for correctness, use the pdetest. This also tests the solution against the boundary conditions.
To obtain the solution (1.4), the PDE was first solved regardless of the boundary condition:
Next, the arbitrary function was determined such that the boundary condition is matched. Concretely, the mapping _F1 is what was determined. You can see this mapping reversing the solving process in two steps. Start by taking the difference between the general solution (1.6) and solution (1.4) that matches the boundary condition:
and isolate here
So this is the value that determined. To see the actual solving mapping _F1, that takes for arguments and and returns the right-hand side of (1.8), one can perform a change of variables introducing the two parameters and of the _F1 mapping:
So, the solving mapping _F1 is:
Although this PDE and BC example looks simple, this solution (1.12) is not apparent, as is the way to get it just from the boundary condition and the solution (1.6).
Skipping the technical details, the key observation to compute a solving mapping is that: Given a 1st order PDE, where the unknown depends on independent variables, if the boundary condition depends on arbitrary symbolic parameters , one can always seek a "relationship between these parameters and the differential invariants that enter as arguments in the arbitrary function _F1 of the solution", and get the form of the mapping _F1 from this relationship and the BC. The method works in general. However, if, for instance, we change the BC (1.3), making its right-hand side a sum instead of a product,
an interesting case happens when the boundary condition depends on less than parameters. For instance:
As we see in this result, the additional difficulty represented by having few parameters got tackled by introducing an arbitrary constant _C1 (this is likely to evolve into something more general...)
Finally, consider a nonlinear example:
Here we have two independent variables, so for illustration purposes use a boundary condition that depends on only one arbitrary parameter.
All looks OK, but we still have another problem: check the arbitrary function _F1 entering the general solution of PDE when tackled without any boundary condition:
Remove this RootOf to see the underlying algebraic expression:
So this is a PDE where the general solution is implicit, actually depending on an arbitrary function of the unknown The code handles this problem in the same way, just that in cases like this there may be more than one solution. For this very particular BC (1.21), there are actually three solutions:
Verify these three solutions against the PDE and the boundary condition.