圣数简化
Sagemath simplification
我对
这样的表达感兴趣
w=2*cos(3/7*pi) - 2*cos(2/7*pi) + 2*cos(1/7*pi) - 1
w 恰好为 0,这很容易通过将每个余弦表示为 -1 的 7 次方根的幂之和来验证; Sage 可以通过将 w 评估为真实来大致验证这一点。
我已尝试将所有简化方法应用于 w,但无济于事。所有 return 相同的表达式。我是否达到了 Sage 的限制,或者是否有某种方法可以使其处理此类表达式?
我使用的是 8.2 版。
了解表达式是否为零的一种方法是询问。
键入 w == 0
将 return 一个符号方程,但使用 bool
可以将其评估为布尔值。
sage: w = 2*cos(3/7*pi) - 2*cos(2/7*pi) + 2*cos(1/7*pi) - 1
sage: w == 0
2*cos(3/7*pi) - 2*cos(2/7*pi) + 2*cos(1/7*pi) - 1 == 0
sage: bool(w == 0)
True
另一种方式是将w
转换为代数数域,QQbar
.
sage: ww = QQbar(w)
sage: ww
0
注意:有人提出并回答了类似的问题
我对
这样的表达感兴趣w=2*cos(3/7*pi) - 2*cos(2/7*pi) + 2*cos(1/7*pi) - 1
w 恰好为 0,这很容易通过将每个余弦表示为 -1 的 7 次方根的幂之和来验证; Sage 可以通过将 w 评估为真实来大致验证这一点。
我已尝试将所有简化方法应用于 w,但无济于事。所有 return 相同的表达式。我是否达到了 Sage 的限制,或者是否有某种方法可以使其处理此类表达式?
我使用的是 8.2 版。
了解表达式是否为零的一种方法是询问。
键入 w == 0
将 return 一个符号方程,但使用 bool
可以将其评估为布尔值。
sage: w = 2*cos(3/7*pi) - 2*cos(2/7*pi) + 2*cos(1/7*pi) - 1
sage: w == 0
2*cos(3/7*pi) - 2*cos(2/7*pi) + 2*cos(1/7*pi) - 1 == 0
sage: bool(w == 0)
True
另一种方式是将w
转换为代数数域,QQbar
.
sage: ww = QQbar(w)
sage: ww
0
注意:有人提出并回答了类似的问题