I’d like to use sympy to solve he following equation in terms of x, g, and w.
Here’s what I thought I should code
from sympy import *
w, a, x, g = symbols('w a x, g', real=True)
lhs = 1/g*(w-a)**g
rhs = 1/(2*g)*(w-x)**g + 1/(2*g)*(w+x)**g
solve((lhs,rhs), (x,g,w))
But this seems to be trying to solve for a numerical answer.
Advertisement
Answer
You can create a 2-sided equation with Eq:
In [52]: Eq(lhs, rhs)
Out[52]:
g g g
(-a + w) (w - x) (w + x)
───────── = ──────── + ────────
g 2⋅g 2⋅g
When you say that you want to solve “in terms of x, g and w” I’m not sure I understand what you mean. Do you mean that you want to solve for a in terms of the others? If so then you just have to ask to solve for a:
In [53]: solve(Eq(lhs, rhs), a) Out[53]: ⎡ -1 ⎤ ⎢ ─── _____________________⎥ ⎢ g g ╱ g g ⎥ ⎣w - 2 ⋅╲╱ (w - x) + (w + x) ⎦
