找回密码
 欢迎注册
查看: 65304|回复: 52

[讨论] 超越函数的高精度计算

[复制链接]
发表于 2008-4-15 10:25:12 | 显示全部楼层 |阅读模式

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

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

×
精华
先贴些CORDIC的论文作为开头
基本的算法就在里面
不再复述。
===========================
是否适合高精度函数库的计算请大家判断
照例要点利息

CORDIC1.pdf (120.74 KB, 下载次数: 9, 售价: 1 枚金币)
CORDIC2.pdf (241.13 KB, 下载次数: 7, 售价: 1 枚金币)
游客,本帖隐藏的内容需要积分高于 3 才可浏览,您当前积分为 0
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-4-15 10:42:49 | 显示全部楼层
印象中应该不适合任意高精度计算。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2008-4-15 11:16:58 | 显示全部楼层
那什么方法比较合适?
牛顿二次迭代?
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-4-15 11:44:11 | 显示全部楼层
这些函数不适用于高精度,当精度较高时,其复杂度很高。

   RICHARD P.BRENT 在1976年发表了一篇著名的论文,该文名为
游客,本帖隐藏的内容需要积分高于 3 才可浏览,您当前积分为 0
在该文中,他给出精确到n位数的初等函数的复杂度。他证明,若M(n)表示 2个长为n的大数进行乘法运算的复杂度,则初等函数(exp,log,artan,sin,cosh等)精确到n位数的复杂度为O(M(n)log(n))。下面是该文的一个摘要。

  Let f(x) be one of the usual elementary functions (exp, log, artan, sin, cosh, etc.), and
let M(n) be the number of single-precision operations reqmred to multiply n-bit integers. It is shown
that f(x) can be evaluated, with relative error $0(2^{-n})$, m O(M(n)log (n)) operations as $n ->infty$,for
any floating-point number x (with an n-bit fraction) in a suitable finite interval. From the Sehonbage-
Strassen bound on M(n), it follows that an n-bit approximation to f(x) may be evaluated
in O(n log_2(n) log log(n)) operations. Special cases include the evaluation of constants such as
$\pi$, $e$, and $e^\pi$. The algorithms depend on the theory of elhptic integrals, using the arithmetic-geometric mean iteration and ascending Landen transformations.
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-4-15 11:53:45 | 显示全部楼层
关于这些函数的具体算法,可参考一些大数运算库的源代码,比如apfloat,GMP.下面简要的介绍一下apfloat中,这些算法的基本算法。
   定义:
    我们定义任意精度浮点数为f,   我们定义任意精度复数为c。则
   sin(f),cos(f) 可通过 exp(c)求出。
   exp(c), 可由 log(c)和牛顿迭代法求得。
   log(c), 可由 rawlog(c)求得。
   rawlog(c) 可有复数的AGM 算法求得。
  可以看到,在apfloat中,AGM算法是这些函数的核心算法,使用AGM算法和牛顿迭代法可解决所有的任意精度浮点数的初等函数。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2008-4-15 11:58:12 | 显示全部楼层
可惜啊
GMP是没超越函数库的
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
发表于 2008-4-15 12:11:35 | 显示全部楼层
你所说的超越函数是不是指初等函数?三角和对数函数应该属于初等函数。

你是对的。刚才我查了一下,确实没有在GMP的源码和文档 中 找到 提供初等接口的信息。
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2008-4-15 13:47:14 | 显示全部楼层
超越函数就是超越函数
在数学里的初等超越函数
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2008-10-7 20:55:50 | 显示全部楼层
另外一个高精度浮点库就是MPFR库了
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
 楼主| 发表于 2008-10-7 21:03:30 | 显示全部楼层
MPFR站点带的高精度浮点算法的介绍论文
algorithms.pdf (376.02 KB, 下载次数: 75)
毋因群疑而阻独见  毋任己意而废人言
毋私小惠而伤大体  毋借公论以快私情
您需要登录后才可以回帖 登录 | 欢迎注册

本版积分规则

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

GMT+8, 2024-4-19 18:28 , Processed in 0.057978 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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