使用条件 sympy 检查相等性
Check equality using conditions sympy
我想证明 (x/a)^2 + (y/b)^2 + (z/c)^2 == 1,如果条件 x/a + y/b + z/c ==1 和 a/x + b/y + c/z == 0 给出。我知道,例如,在 Maple 中我可以简单地写
eq1 := x/a + y/b + z/c = 1;
eq2 := a/x + b/y + c/z = 0;
f := x^2/a^2 + y^2/b^2 + z^2/c^2 = 1;
simplify(lhs(f)-rhs(f), {eq1, eq2});
但我正在努力想出使用 sympy 的解决方案。
不失一般性,设x <= x/a,等等...
>>> e1=Eq(x + y + z , 1)
>>> e2=Eq(1/x+1/y+1/z , 0)
>>> e3=Eq(x**2 + y**2 + z**2, 1)
Eq(x**2 + y**2 + z**2, 1)
>>> [e3.subs(i).expand() for i in solve((e1,e2))]
[True, True]
因此,对于满足 e1 和 e2 的所有值,e3 都为真
我想证明 (x/a)^2 + (y/b)^2 + (z/c)^2 == 1,如果条件 x/a + y/b + z/c ==1 和 a/x + b/y + c/z == 0 给出。我知道,例如,在 Maple 中我可以简单地写
eq1 := x/a + y/b + z/c = 1;
eq2 := a/x + b/y + c/z = 0;
f := x^2/a^2 + y^2/b^2 + z^2/c^2 = 1;
simplify(lhs(f)-rhs(f), {eq1, eq2});
但我正在努力想出使用 sympy 的解决方案。
不失一般性,设x <= x/a,等等...
>>> e1=Eq(x + y + z , 1)
>>> e2=Eq(1/x+1/y+1/z , 0)
>>> e3=Eq(x**2 + y**2 + z**2, 1)
Eq(x**2 + y**2 + z**2, 1)
>>> [e3.subs(i).expand() for i in solve((e1,e2))]
[True, True]
因此,对于满足 e1 和 e2 的所有值,e3 都为真