chyanog 发表于 2012-12-13 18:51:23

关于根式的化简

下面几个式子是能够进一步简化的,不过用Mathematica好像不能直接化简,大家怎么看?

1/(1 + Sqrt - Sqrt)
Sqrt]
Sqrt]
((2 + 3^(1/2))*(5 - 2^(1 + 1/2)*3^(1/2))*(4 + 15^(1/2))* (10 + 2^(1 + 1/2)*3^(1/2) + 2^(1 + 1/2)*5^(1/2) + 2*15^(1/2)))^(1/2)

郭先抢 发表于 2012-12-13 20:11:56

下面几个式子是能够进一步简化的,不过用Mathematica好像不能直接化简,大家怎么看?

1/(1 + Sqrt - Sqrt)
Sqrt]
Sqrt]
((2 + 3^(1/2))*(5 - 2^(1 + 1/2)*3^(1/2))*(4 + 15^ ...
chyanog 发表于 2012-12-13 18:51 http://bbs.emath.ac.cn/images/common/back.gif
你在夏官营吗?

郭先抢 发表于 2012-12-13 20:12:56

软件永远是死的,软件只是工具,不能过度依靠软件,这是我个人的看法.
人是活的,只有人才有思想,软件只不过是程序而已,仅此而已

郭先抢 发表于 2012-12-13 20:15:35

别对软件有太高的期待,软件毕竟是死的,你可以把运算式子拆分开来,然后用软件化简,一部分一部分地化简,
这样也许能达到你要求的目的

wayne 发表于 2012-12-13 22:41:33

1# chyanog
这里有一个问题需要先明确一下.
就是如何量化 一个数学表达式的复杂程度.
=============
在Mathematica里面,化简用的是Simplify,FullSimplify .
其对复杂度的默认的量化参数就是一个表达式的LeafCount.
With the default setting ComplexityFunction->Automatic, forms are ranked primarily according to their LeafCount, with corrections to treat integers with more digits as more complex.
=============
如果LeaFcount 不能达到理想的效果,那我们用户只能自己实现ComplexityFunction了.
比如,我们按照表达式输入的字符个数的多少来衡量表达式的复杂度,可以这样:f := StringLength]]
Simplify, x < 0, ComplexityFunction -> f]

wayne 发表于 2012-12-13 22:47:49

我猜想 chyanog 是想开平方, 比如第一个期望得到的"最简的" 答案是   1/4 (2 + Sqrt + Sqrt)
这个问题比较开放.
我们可以一起讨论一下,如何设计函数,以表达式作为输入,
使得 f( 1/4 (2 + Sqrt + Sqrt) )   <f (1/(1 + Sqrt - Sqrt) )

wayne 发表于 2012-12-13 22:53:19

我试了一下Depth, 发现效果很不错FullSimplify], ComplexityFunction -> Depth]

chyanog 发表于 2012-12-13 23:11:37

我试了一下Depth, 发现效果很不错FullSimplify], ComplexityFunction -> Depth]
wayne 发表于 2012-12-13 22:53 http://bbs.emath.ac.cn/images/common/back.gif
这个比较特别点,用FunctionExpand也是可以的,但是另外那几个不行了

wayne 发表于 2012-12-14 11:15:39

8# chyanog
嗯,FullSimplify 其实用的就是 FunctionExpand.
只是 FullSimplify 具有更高的可定制性. 可以使用用户自定制的复杂规则来化简.
可有兴趣探讨一下#6的问题?
就是找到一个化简规则, 能展开多重根号, 适用于你前面给的所有情况?

chyanog 发表于 2012-12-14 11:37:14

9# wayne
感觉不好找,Sqrt]可以化简的,但是Sqrt]就不行
页: [1] 2
查看完整版本: 关于根式的化简