Consider a simple equation with a one-form on both sides (mathworld.wolfram is also aware of this):
ydx=dy
This is a perfectly valid abuse of notation. We can carry the y over to the right, then integrate both sides:
∫dx=∫dyy
to get
x=logy+C
or we can carry the differential of x and get a normal differential equation:
y=dydx=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