Результат вызова, поэтому solve
таким образом представляет собой список кортежей - Python кортежей - которые не понимают subs
. Но если вы конвертируете их в Tuple
, они будут:
>>> from sympy import Tuple
>>> Tuple(*v[0]).subs({x0:3.0,y0:2.0,r:5.0,a:3.0,b:2.0,c:-16.0})
(6.42713674378941, -1.64070511568412)
Знаете ли вы, что вы можете определять геометрические c объекты с помощью SymPy и находить их пересечения?
>>> from sympy import Circle, Line
>>> Circle((3,2),5).intersection(Line(3*x+2*y-16))
[Point2D(48/13 - 4*sqrt(79)/13, 32/13 + 6*sqrt(79)/13),
Point2D(4*sqrt(79)/13 + 48/13, 32/13 - 6*sqrt(79)/13)]
>>> [i.n(2) for i in _]
[Point2D(0.96, 6.6), Point2D(6.4, -1.6)]
Этот второй пункт должен показаться знакомым: -)