如何将sqrt()中的多项式简化为最大值因子的绝对值?

时间:2012-07-11 02:16:04

标签: simplify sqrt maxima

sqrt(a^2+2*a+1)可以轻松地重写为|a+1|。我想在maxima中这样做,但是无法使其工作。虽然sqrt(a^2)会自动简化为|a|,但sqrt(a^2+2*a+1)却不会。并radcan(sqrt(a^2+2*a+1))a+1,这是不正确的。无论如何要在Maxima中进行正确的简化吗?

1 个答案:

答案 0 :(得分:1)

是的。基本上,你只需告诉Maxima尝试更难分解平方根的内部。例如:

(%i1) x: sqrt(a^2 + 2*a + 1);
                                    2
(%o1)                         sqrt(a  + 2 a + 1)
(%i2) factor(a^2 + 2*a + 1);
                                          2
(%o2)                              (a + 1)
(%i3) map (factor, x);
(%o3)                             abs(a + 1)
(%i4) 

这里的map表示函数factor应该应用于sqrt的每个参数。发生的情况是,您会看到sqrt((a+1)^2)出现,并自动简化为abs(a+1)

请注意radcan的答案对a的某些值是正确的。根据我的理解,这就是radcan保证的全部内容:它对回答“Yikes来说是有用的!有没有更简单的方法来思考这个疯狂的表达?”,但对“嗯,我不确定”没有特别的帮助这是什么变量。是否有一个更简单的形式?“