hrefspace

 找回密码
 立即注册
搜索
热搜: PHP PS 程序设计
查看: 1368|回复: 9

关于根式的化简

[复制链接]

604

主题

616

帖子

1951

积分

版主

Rank: 7Rank: 7Rank: 7

积分
1951
发表于 2023-10-3 08:18:32 | 显示全部楼层 |阅读模式
下面几个式子是能够进一步简化的,不过用Mathematica好像不能直接化简,大家怎么看?

1/(1 + Sqrt[2] - Sqrt[3])
Sqrt[5 - 2*Sqrt[6]]
Sqrt[4 + Sqrt[15]]
((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)
回复

使用道具 举报

0

主题

200

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2023-10-3 08:19:03 | 显示全部楼层
下面几个式子是能够进一步简化的,不过用Mathematica好像不能直接化简,大家怎么看?

1/(1 + Sqrt[2] - Sqrt[3])
Sqrt[5 - 2*Sqrt[6]]
Sqrt[4 + Sqrt[15]]
((2 + 3^(1/2))*(5 - 2^(1 + 1/2)*3^(1/2))*(4 + 15^ ...
chyanog 发表于 2012-12-13 18:51
你在夏官营吗?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

0

主题

200

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2023-10-3 08:19:55 | 显示全部楼层
软件永远是死的,软件只是工具,不能过度依靠软件,这是我个人的看法.
人是活的,只有人才有思想,软件只不过是程序而已,仅此而已
回复

使用道具 举报

1

主题

186

帖子

21

积分

新手上路

Rank: 1

积分
21
发表于 2023-10-3 08:20:32 | 显示全部楼层
别对软件有太高的期待,软件毕竟是死的,你可以把运算式子拆分开来,然后用软件化简,一部分一部分地化简,
这样也许能达到你要求的目的
回复

使用道具 举报

1

主题

207

帖子

5

积分

新手上路

Rank: 1

积分
5
发表于 2023-10-3 08:20:49 | 显示全部楼层
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了.
比如,我们按照表达式输入的字符个数的多少来衡量表达式的复杂度,可以这样:
  1. f[e_] := StringLength[ToString[InputForm[e]]]Simplify[Abs[x], x < 0, ComplexityFunction -> f]
复制代码
回复

使用道具 举报

0

主题

171

帖子

10

积分

新手上路

Rank: 1

积分
10
发表于 2023-10-3 08:21:32 | 显示全部楼层
我猜想 chyanog 是想开平方, 比如第一个期望得到的"最简的" 答案是   1/4 (2 + Sqrt[2] + Sqrt[6])
这个问题比较开放.
我们可以一起讨论一下,如何设计函数,以表达式作为输入,
使得 f( 1/4 (2 + Sqrt[2] + Sqrt[6]) )   <  f (1/(1 + Sqrt[2] - Sqrt[3]) )
回复

使用道具 举报

0

主题

205

帖子

49

积分

新手上路

Rank: 1

积分
49
发表于 2023-10-3 08:21:39 | 显示全部楼层
我试了一下Depth, 发现效果很不错
  1. FullSimplify[Sqrt[5 - 2 Sqrt[6]], ComplexityFunction -> Depth]
复制代码
回复

使用道具 举报

0

主题

171

帖子

17

积分

新手上路

Rank: 1

积分
17
发表于 2023-10-3 08:22:37 | 显示全部楼层
我试了一下Depth, 发现效果很不错FullSimplify[Sqrt[5 - 2 Sqrt[6]], ComplexityFunction -> Depth]
wayne 发表于 2012-12-13 22:53
这个比较特别点,用FunctionExpand也是可以的,但是另外那几个不行了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

0

主题

183

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2023-10-3 08:22:58 | 显示全部楼层
8# chyanog
嗯,FullSimplify 其实用的就是 FunctionExpand.
只是 FullSimplify 具有更高的可定制性. 可以使用用户自定制的复杂规则来化简.
可有兴趣探讨一下#6的问题?
就是找到一个化简规则, 能展开多重根号, 适用于你前面给的所有情况?
回复

使用道具 举报

0

主题

192

帖子

2

积分

新手上路

Rank: 1

积分
2
发表于 2023-10-3 08:23:57 | 显示全部楼层
9# wayne
感觉不好找,Sqrt[4 + 2 Sqrt[3]]可以化简的,但是Sqrt[2 + Sqrt[3]]就不行
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|hrefspace

GMT+8, 2024-11-22 16:17 , Processed in 0.081514 second(s), 22 queries .

Powered by hrefspace X3.4 Licensed

Copyright © 2022, hrefspace.

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