数学研发论坛

 找回密码
 欢迎注册
查看: 974|回复: 7

[提问] 如何简便计算\([(\sqrt{a}+\sqrt{b})^n]\)的值?

[复制链接]
发表于 2019-12-26 17:00:23 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

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

x
其中a、b、n为正整数,[]为向下取整符号。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2019-12-26 21:29:41 | 显示全部楼层
就这么算啊
没有简便方法

如果真的计算机实现,可能可以试试SSE指令同时对a跟b开根
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2019-12-26 22:24:58 | 显示全部楼层
符号化,形式为 \(\left(t_0+t_1\sqrt{a}+t_2\sqrt{b}+t_3 \sqrt{a b}\right){}^q\) ;接着是二分幂算法。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2019-12-27 08:57:42 来自手机 | 显示全部楼层
展开后可写成$x\sqrt{a}+y\sqrt{b}+z\sqrt{ab}+w$形式。如果a,b事先知道,可以先算出\sqrt{a}等高精度形式
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2019-12-27 09:01:19 来自手机 | 显示全部楼层
另外如果n是偶数而且$|\sqrt{a}-\sqrt{b}|\lt1$,那么结果加上这个差值的n次方是整数,可以通过高精度浮点运算解决
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2019-12-27 20:31:35 | 显示全部楼层
若论快速计算的一般方法,就是二分幂. 这里给一个纯粹高精度整数运算的方法。
不失一般性,设 $s,t$互质,$x =a_1 \sqrt{s}+a_2 \sqrt{t}+a_3 \sqrt{st}+a_4$,则对于原题,设向量的分量分别代表${a_1,a_2,a_3,a_4} $,于是$ x_0 ={1,1,0,0} $
然后再看乘法规则,$x_a$与$x_b$相乘就是:$x_a={a_1,a_2,a_3,a_4},x_b={b_1,b_2,b_3,b_4} , x_a*x_b = {a_3 b_2 t+a_2 b_3 t+a_4 b_1+a_1 b_4,a_3 b_1 s+a_1 b_3 s+a_4 b_2+a_2 b_4,a_2 b_1+a_1 b_2+a_4 b_3+a_3 b_4,a_3 b_3 s t+a_1 b_1 s+a_2 b_2 t+a_4 b_4} $

特例:$x ={a_1,a_2,a_3,a_4} $对应$ x^2= {2 a_2 a_3 t+2 a_1 a_4,2 a_1 a_3 s+2 a_2 a_4,2 a_1 a_2+2 a_3 a_4,a_3^2 s t+a_1^2 s+a_2^2 t+a_4^2} $

点评

多余的是头两个吧,我编辑帖子的时候本来想作为函数形式传入的,后来写着写着就变成了向量了,已经改正  发表于 2019-12-28 09:38
跟我的思路一样啊。你说得更详细之余,向量积漏了两项,其实是多余项;P  发表于 2019-12-28 00:35
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

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

GMT+8, 2020-7-4 13:51 , Processed in 0.118641 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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