Consider a simple equation with a one-form on both sides (mathworld.wolfram is also aware of this):
$$ y\mathrm{d}x = \mathrm{d}y $$
This is a perfectly valid abuse of notation. We can carry the $y$ over to the right, then integrate both sides:
$$\int \mathrm{d}x = \int \frac{\mathrm{d}y}{y} $$
to get
$$ x = \log y + C $$
or we can carry the differential of $x$ and get a normal differential equation:
$$y = \frac{\mathrm{d}y}{\mathrm{d}x}=y'(x)$$
which we can plug into DSolve
and find y[x]->C[1]Exp[x]
The question is, can we get Mathematica to accept this abuse of notation like so
DSolve[y \[DifferentialD]x == \[DifferentialD]y, y, x]
and solve equations involving infinitesimal values on both sides?
Unfortunately, searching the documentation or this site for "k-form", "one-form", "differential form" did not yield helpful results.
Answer
Ok, now I'm feeling stupid.
First I asked Wolfram Alpha and it interpreted my query correctly. Then I did
WolframAlpha["solve y dx=dy", {{"Input", 1}, "Input"}]
(* HoldComplete[y Dt[x] == Dt[y]] *)
That gave me a clue for the proper notation.
DSolve[y[x] Dt[x] == Dt[y[x]], y, x]
(* {{y -> Function[{x}, E^x C[1]]}} *)
Mathematica handles differentials out of the box just fine.
Comments
Post a Comment