detools::charSolve -- solves
partial differential equation with the method of characteristics
Introductiondetools::charSolve(ldf,init,pars) solves
the linear differential equation ldf by the method of
characteristics. The initial conditions init should depend
on n-1 parameters (listed in pars), if there
are n independent variables.
Call(s)detools::charSolve(ldf, init, pars)
Parametersldf |
- | the differential equation: an element of a domain
generated with the constructor
Dom::LinearDifferentialFunction. |
init |
- | the initial conditions: a list of equations. |
pars |
- | the parameters: a list of identifiers. |
Returnsa list of expressions representing the parametric solution of the differential equation for the given initial conditions.
Related
Functionsdetools::characteristics,
detools::charODESystem,
detools::pdesolve,
solve
Detailsdetools::charSolve(ldf,init,pars) tries
to solve the differential equation ldf subject to the
parametric initial conditions init. The list
pars contains the names of the parameters. The solution
will again be in parametric form. It will be found only, if the
characteristic system can be solved.
Example
1With the following input one can solve the linear differential equation 2 diff(u,x)+diff(u,y)+3 diff(u,z)-2 u=0 for the following parametrized initial condition x=2*sigma,y=3*tau,z=sigma+tau,u=sigma-tau.
>> LDF := Dom::LinearDifferentialFunction(
Vars = [[x, y, z], u], Rest = [Types = "Indep"]):
ldf := LDF( 2*u([x]) + u([y]) + 3*u([z]) - 2*u ):
detools::charSolve(ldf,
{x = 2*sigma, y = 3*tau, z = sigma + tau, u = sigma - tau},
{sigma, tau})
/ 7 x y 2 z \ / 6 z 2 y 3 x \
u = | --- - - - --- | exp| --- - --- - --- |
\ 10 5 5 / \ 5 5 5 /