圣数简化

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

注意:有人提出并回答了类似的问题