简化包含测角函数的根的乘积

Simplify product of roots containing goniometric functions

在 Maxima 中,我试图简化表达式

sqrt(1 - sin(x)) * sqrt(1 + sin(x))

屈服

cos(x)

我适当地限制了 x

的定义
declare(x, real) $
assume(x > 0, x < %pi/2) $

并尝试了几个简化命令,包括radcantrigsimptrigreducetrigexpand,但没有任何成功。这怎么能做到?

试试 trigsimp(rootscontract(expr))

您声明的限制并不能唯一确定您请求的简化结果。

声明或假设以下内容似乎无害且显然没有必要: 声明(9,真实) 假设(9>0)

然而,从数学上讲,sqrt(9) 仍然是集合 {-3, +3},而不是“我在 6 年级学到的东西”。

Stavros的建议给出了|cos(x)|,这与原提问者想要的不太一样。

获得相同结果的另一种方法可能更明确地表现出结果的一般错误性,即平方然后使用半伪造的 sqrt,试图选择肯定的答案。

trigsimp (sqrt(展开(expr^2)));

如果您认为这是一种简化 expr 的方法,请注意它会将 -3 更改为 3。