数学研发论坛

 找回密码
 欢迎注册
12
返回列表 发新帖
楼主: chyanog

[讨论] 关于根式的化简

[复制链接]
发表于 2012-12-15 11:05:14 | 显示全部楼层
我们可以先实现这样的一种规则.
先检验 $\sqrt(a+b \sqrt(c))$ (其中a,b,c,x,y 均是整数), 是否可以表示成$x+y \sqrt(c)$ ,如果可以,就做变换.
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2012-12-17 14:51:11 | 显示全部楼层
这几个Maple除了最后一个都能化简,mupad都能化简,
关于ComplexityFunction 的资料太少了
PS:
还有Mathematica9的Expand依旧很慢,下面这个都需要4分钟了,
Expand[(Sqrt[2] + Sqrt[3] + Sqrt[5] + Sqrt[6] + 1)^200]
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2013-1-25 18:15:35 | 显示全部楼层
这几个Maple除了最后一个都能化简,mupad都能化简,
关于ComplexityFunction 的资料太少了
PS:
还有Mathematica9的Expand依旧很慢,下面这个都需要4分钟了,
Expand[(Sqrt[2] + Sqrt[3] + Sqrt[5] + Sqrt[6] + 1) ...
chyanog 发表于 2012-12-17 14:51


关于Mathematica中带根式的表达式的展开计算很慢的问题(AAS不灵了),今天在stackexchange上得到一个不错的变通方法,
  1. expr = Sqrt[2] + Sqrt[3] + Sqrt[5] + Sqrt[6] + 1;
  2. Nest[Expand[expr #] &, 1, 200]
复制代码
这样和直接expand相比速度提升了千倍,和Maple的计算时间比较接近了。印象中mathematica中需要变通解决的例子都遇到好几个了(相应地,maple对这几个处理的就不错),这些变通的方法看起来并不难,却不是谁都能很快就想的到

评分

参与人数 1经验 +12 鲜花 +12 收起 理由
wayne + 12 + 12 社区有你更精彩

查看全部评分

毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2013-2-25 19:47:26 | 显示全部楼层
几点新发现,还是不够通用,仅适用与部分情况

  1. FullSimplify[x == Sqrt[5 - 2*Sqrt[6]]]
  2. FullSimplify[x == Sqrt[4 + Sqrt[15]]]
  3. FullSimplify[x == Sqrt[4 - Sqrt[15]]]

  4. FullSimplify[Sqrt[4 - Sqrt[15]],
  5. ComplexityFunction -> (LeafCount[2 #] &)]
  6. (*Depth*)

  7. rad = Sqrt[4 + Sqrt[15]];
  8. roots = Roots[Factor[MinimalPolynomial[rad, x], Extension -> Sqrt[6]] == 0, x];
  9. Roots[Simplify[x == rad && roots], x]
  10. (*靠猜测*)

  11. Out:
  12. Sqrt[2] + x == Sqrt[3]
  13. x == Sqrt[4 + Sqrt[15]]
  14. Sqrt[6] + 2 x == Sqrt[10]
  15. 1/2 (-Sqrt[6] + Sqrt[10])
  16. x == 1/2 (Sqrt[6] + Sqrt[10])

复制代码
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2013-2-25 19:50:02 | 显示全部楼层
还是觉得Mathematica根式表示比较另类,比如输入Sqrt[6]/2,自动变成Sqrt[3/2],和同类软件都不一样
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2013-2-27 09:34:36 | 显示全部楼层
15# chyanog
可能Mathematica的全局变量\$Post 是Simplify, 而表达式的Simplify由ComplexityFunction 的默认值决定, 即LeafCount决定的。
试一下输入Sin[Pi/2],如果返回时1的话,那么\$Post 是FullSimplify
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2013-2-27 16:52:22 | 显示全部楼层
16# wayne
不过Sqrt[6]/2和Sqrt[3/2]的LeafCout都是7啊
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2021-12-7 17:49:41 | 显示全部楼层
[原创] 多项双重根号化简
https://bbs.emath.ac.cn/thread-5051-1-1.html
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2021-12-7 20:37:53 | 显示全部楼层
chyanog 发表于 2013-2-27 16:52
16# wayne
不过Sqrt[6]/2和Sqrt[3/2]的LeafCout都是7啊

是我的问题/ 现在有新的解释吗,
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

小黑屋|手机版|数学研发网 ( 苏ICP备07505100号 )

GMT+8, 2022-5-22 00:46 , Processed in 0.078141 second(s), 15 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表