当前位置: 首页 > 软件库 > 程序开发 > 数学计算 >

Arb

任意精度区间算法 C 库
授权协议 LGPL
开发语言 C/C++
所属分类 程序开发、 数学计算
软件类型 开源软件
地区 不详
投 递 者 池麒
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Arb 是一个用于任意精度区间算法的 C 语言库,完全支持实数和复数。该库线程安全、可移植,且经过广泛测试。

特征

  • 除了基本算术,Arb 还允许处理单变量多项式、截断幂级数以及实数和复数矩阵。
  • 支持基本线性代数,包括矩阵乘法、行列式、逆、非奇异求解、矩阵指数以及特征值和特征向量的计算。
  • 对多项式和幂级数的支持非常广泛,包括组合、回归、乘积树、多点评估和插值、复根隔离和幂级数的超越函数的方法。
  • 其他功能包括实函数的根隔离、复杂函数的严格数值积分和离散傅立叶变换 (DFT)。

代码示例

以下程序评估 sin(pi + exp(-10000)),由于正弦函数的输入将根匹配到 4343 数位以内,因此至少需要 4343 个数位(14427-bit)精度才能获得准确的结果。程序以 64 bit、128 bit 、... 精度重复计算,仅在结果准确到至少 53 bit 时才停止:

#include "arb.h"

int main()
{
    slong prec;
    arb_t x, y;
    arb_init(x); arb_init(y);

    for (prec = 64; ; prec *= 2)
    {
        arb_const_pi(x, prec);
        arb_set_si(y, -10000);
        arb_exp(y, y, prec);
        arb_add(x, x, y, prec);
        arb_sin(y, x, prec);
        arb_printn(y, 15, 0); printf("\n");
        if (arb_rel_accuracy_bits(y) >= 53)
            break;
    }

    arb_clear(x); arb_clear(y);
    flint_cleanup();
}

输出:

[+/- 6.01e-19]
[+/- 2.55e-38]
[+/- 8.01e-77]
[+/- 8.64e-154]
[+/- 5.37e-308]
[+/- 3.63e-616]
[+/- 1.07e-1232]
[+/- 9.27e-2466]
[-1.13548386531474e-4343 +/- 3.91e-4358]

每一行都严格地包含了表达式的精确值,该程序演示了用户如何依靠 Arb 的自动错误边界跟踪来获得保证准确的输出—— 用户无需进行错误分析。

依赖项

Arb 依赖于

 

  • 关于撸空投这个事的一些思考和分析。 1.在空投上想要赚到大钱需要什么? 多号+长期交互+防女巫+猜项目方心思 2.前三项都很容易,第四项完全不确定,为什么还能赚钱,甚至是大钱? L2上撸毛写个交互脚本其实门槛很低,因为各大L2都在对接ETH-EVM,能在ETH主网上跑的脚本甚至接口都不用动。 也别说什么脚本容易被女巫,这都不是事,如果一个人写的脚本被查那么手动一样被查。 查ip?一样挂代理不同ip

  • 原文:extensions/ARB/ARB_shading_language_include.txt Overview - 概述 This extension introduces a #include GLSL directive to allow reusing the same shader text in multiple shaders and defines the s

  • E+H超声波液位计FMU41-ARB2A2 超声波测量 行程时间原理 Prosonic FMU41 经济型物位测量仪,适用于复杂工况下的液体和固体散料的物位测量,测量范围可达8m 产品规格参数 测量精度 +/- 2mm或设定量程的+/- 0.2 % 过程温度 -40…80 °C (-40…176 °F) 过程压力(绝压)/最大过压限定值 0.7…3 bar abs (10…44 psi) 最大测量

  • 在编译Opengl es 3.0测试例子的时候出现的一个错误,在google上面找到了,记录下来希望其他朋友遇到知道怎么解决。   我的编译环境是: Windows 7    64bit vs2015    64位   下面的英文是关于英伟达的一些说明,这个GL_ARB_texture_query_lod是一个宏定义,出现这个错误的原因是你电脑上的显卡驱动太旧了或者不支持opengl es 3.0

 相关资料
  • 问题内容: 根据Python整数范围内的答案,Python)应该具有“任意精度整数” 。但是这个结果显然 不是 任意精度: 根据PEP 237 ,它是任意大的(不仅仅是C类型的大小)。和维基百科说,Python的是任意精度。 那么,为什么以上代码行的结果不正确? 问题答案: 实际上,在python3中,每当您对int进行除法运算时,都会得到float。有一个执行整数除法的运算符: 这确实给出了正确

  • 当 小数点后15位的数字被证明是错误的。(尽管很高兴给你的数字远远超过15位!) 在Python中,如何获得的十进制扩展中的第一个正确数字?

  • 我正在用C实现一个任意精度的算术库,在实现gamma函数的时候我陷入了困境。 通过分别使用等价 和 ,我可以得到所有实数值 的范围内 的有理数 。 但是,我不知道如何计算。对于Lanczos近似(https://en.wikipedia.org/wiki/Lanczos_approximation),我需要预先计算的值p,这些值恰好计算非整数值的阶乘(?!),并且以我目前的知识无法动态计算……在实

  • 问题内容: 我有一个numpy的2d数组[中/大型- 例如500x500]。我想找到它的元素智能指数的特征值。问题在于某些值是非常负的(-800,-1000等),并且它们的指数下溢(意味着它们非常接近零,因此numpy将其视为零)。无论如何在numpy中使用任意精度? 我做梦的方式: 我已经搜索了gmpy和mpmath的解决方案,但无济于事。任何想法都将受到欢迎。 问题答案: SymPy可以计算任

  • 本文向大家介绍c++加法高精度算法的简单实现,包括了c++加法高精度算法的简单实现的使用技巧和注意事项,需要的朋友参考一下 c++高精度算法,对于新手来说还是一大挑战,只要克服它,你就开启了编程的新篇章,算法。 我发的这个代码并不是很好,占用内存很多而且运行时间很长(不超过1秒),但是很好理解,很适合新手 高精算法的本质就是把数组编程字符串,然后将字符串像竖式一样加起来: 以上就是小编为大家带来的

  • 问题内容: 我正在寻找一种以任意精度(例如点后50位数左右)计算平方根的方法。 在python中,可以使用Decimal轻松访问它: 看到强大的功能后,我浏览了文档,但没有发现任何类似的内容。 因此,我唯一的选择是编写某种数值计算方法,该方法将迭代地尝试计算答案吗? 问题答案: 这是我自己的平方根计算实现。在等待答案时,我决定尝试一下计算平方根的方法。它有很多方法,但最后我发现通过减法 pdf 链