打火石:数论快速库

什么是FLINT? · 应用程序和基准 · 新闻 · 文档 · 下载 · 开发 · 作者和学分 · 链接

什么是FLINT?

FLINT是一个做数论的C库,免费提供GNU LGPL公司.



FLINT处理的一些域。

FLINT的核心是在诸如整数、有理数、代数、实数、复数和-adic数,有限字段和数字字段。它还提供多项式(一元和多元)、幂级数和矩阵。

FLINT涵盖了广泛的功能:素性测试、整数分解、,多元多项式GCD和因子分解、FFT、多模态重建、,特殊函数,精确和近似线性代数,LLL、有限域嵌入等等。

成熟且广泛使用

FLINT是数十位贡献者的作品,跨越15多年的发展历程。FLINT 3.0版本包含8000个文档功能,3500个测试程序和900000行代码。

FLINT运行在最常见的平台上,包括Linux、macOS和Windows在典型硬件配置上。

虽然FLINT本身是用C编写的,但绑定可用于各种通用编程语言,包括Python语言,朱莉娅,哈斯克尔C类++.一些计算机代数系统也依赖FLINT作为后端库,包括SageMath公司,奥斯卡,单一,麦考利2,枫树数学软件.

在研究前沿

FLINT已用于许多大规模的研究计算(例如:万亿个三角形)并被数百种出版物引用。FLINT的作者自己发表了20多篇论文,描述了新算法首先在FLINT内部或之上实现。

高效

FLINT设计对于所有操作数大小,从单个字到多GB。它实现了许多低级优化并自动选择在基架、中间、,渐近快速专用算法取决于问题的大小和结构。许多算法是完全并行的(多线程)一些关键功能使用SIMD加速。

处理实数


使用FLINT的ball算法绘制复变量的一些超越函数。从左到右:椭圆j个-在两个不同的投影中保持不变;伽玛函数;黎曼-泽塔函数。

FLINT具有对实数和复数的高级支持,使用球算法实现。它涵盖了各种数字功能(多项式算术、超越函数、数值积分、线性代数等)具有任意精度和严格的误差范围。FLINT还提供了实数和复数的精确(符号)模型具有决定等式的能力。

注:此功能是FLINT 3.0和是由于合并剥离项目Arb、Antic和Cacium,它们以前是作为独立库维护的。

对开发人员友好

FLINT有一个开发人员友好的类似GMP的C API这使得编写性能高且类型安全的代码变得容易对就地突变进行精细控制,内存分配、精度、转换表示和算法参数。FLINT还提供了有充分文档记录的访问到它的大部分内部。最后,FLINT项目在年公开开发与社区合作,以及欢迎贡献(功能请求、错误报告、补丁、测试、文档、一般反馈)来自任何人。


上次更新时间:2024-04-12 10:44:08 GMT

联系人:弗雷德里克·约翰逊,flint-devel邮件列表