## `detools::charSolve` -- solves partial differential equation with the method of characteristics

#### Introduction

`detools::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)`

#### Parameters

`ldf` | - | 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.

#### Returns

a list of expressions representing the parametric solution of the differential equation for the given initial conditions.

#### Related Functions

`detools::characteristics`, `detools::charODESystem`, `detools::pdesolve`, `solve`

#### Details

- `detools::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.
- The implemented form of the method of characteristics works only for (quasi-)linear first order equations in one dependent variable.

#### Example 1

With 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  /

Do you have questions or comments?
Copyright © SciFace Software GmbH & Co. KG 2000