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.
\[DifferentialD]y == Log[1 + \[DifferentialD]x]
. Then naively you'd expecty==C+x
, but your code returnsy==C+x Log[2]
. But this feels like cheating. I'm exploring options with functions of multiple arguments or higher order equations for the moment. $\endgroup$(-dif[(y/x)] == 2 x Tan[y/x] dif[x]) /. {y -> y[x]} /. {dif[g_] -> Dt[g, x]*dif[x]}
which should properly handle differentials of arbitrary things, not justx
andy
$\endgroup$