类似的octave,scipy与商业数值计算软体matlab计算能力(速度,求解问题的范围)


用过几个计算机代数系统比如Mathematica、Maple、Maxima、sympy,我觉得这几个系统基本上任何一个都有比其他几个好的地方,要想比较客观全面的比较出谁最强比较困难,用不同的例子测试比较可能就会得到得到不同的结果。根据个人两年多的使用经验看,对于基本的运算这几个都没有什么问题,对于复杂些的、特殊的、对速度要求高的问题Maple和Mathematica比起开源软体来说还是有明显优势的(当然并不绝对,但多数情况是这样的)。比如算积分的例子,http://zhi.hu/X3J3只说算积分这一项就较难评判出最强的一个,maple的速度比较快,mathematica往往能处理的类型更多,但速度一般会比maple慢,特别是定积分。还有,算重积分mathematica的优势比较大

顺便说一下,网上一般对maxima的评价很高,但是我自己用了一段时间却不断发现bug,而且有的反馈了到下一版还是没改。。。比如(实际的例子更复杂些,下面的只是简化抽象版,即使你declare了type也没用)

assume(x &>= y, y &>= z, z &>= x)$ is( x = z );ratsimp( sqrt(1/z) - 1/sqrt(z) ); is(sqrt(1/x)=1/sqrt(x));sqrt(%e^z)-%e^(z/2);

sqrt(%e^(6*%i));

log(%e^z);log(%e^(10*%i));ratsimp((x*y)^(1/n)-x^(1/n)*y^(1/n));integrate( sqrt(x^2), x );

solve([x^2+y^2=1, (x-3)^2+(y-2)^2=9],[x,y]);


推荐阅读:
相关文章