在Sage中求解联立方程

时间:2014-03-04 19:18:32

标签: python math equation algebra sage

Sage中(使用Sage Cloud中的Sage终端),我希望以下内容产生结果[t == (1/2)]。但是,它会产生结果[]

sage: var('x1 y1 x2 y2 t')
(x1, y1, x2, y2, t)
sage: eq1 = x1==t
sage: eq2 = y1==t
sage: eq3 = x2==t
sage: eq4 = y2==1-t
sage: solve([eq1,eq2,eq3,eq4,x1==x2,y1==y2],t)
[]

以下重新制定没有帮助:

sage: eq5 = x1==x2
sage: eq6 = y1==y2
sage: solve([eq1,eq2,eq3,eq4,eq5,eq6],t)
[]

我哪里错了?

1 个答案:

答案 0 :(得分:3)

如果你写

solve([eq1,eq2,eq3,eq4,x1==x2,y1==y2],t)

然后t是您要解决的变量,x1, x2, y1, y2免费参数。显然没有对这些参数的任何值有效的解决方案。但是,如果你问:

solve([eq1,eq2,eq3,eq4,x1==x2,y1==y2],t,x1,x2,y1,y2)

然后你就得到了你的期望:

[[t == (1/2), x1 == (1/2), x2 == (1/2), y1 == (1/2), y2 == (1/2)]]