问题标签 [pari]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python Pari 库?
Pari/GP是一个优秀的数论相关函数库。问题是周围似乎没有最新的python包装器(pari-python使用旧版本的pari),我想知道是否有人知道其他类似的库/包装器pari 或使用 pari 的。
我知道 SAGE,但它对于我的需求来说太大了。GMPY 也很出色,但是我错过了一些内在的 pari 函数,我更愿意使用 python 而不是提供的 GP 环境。NZMATH、mpmath、scipy 和 sympy 也都被考虑在内。
在相关说明中,是否有人对加载 pari dll 本身并使用其中包含的函数有任何建议?除了加载它并了解函数指针之外,我尝试的成功很少。
python - Python c_types .dll 函数(pari 库)
好吧,几天前我决定尝试为 PARI 库编写一个原始包装器。从那时起,我一直在使用ctypes
库来加载 dll 并使用类似于以下的代码访问包含的函数:
所以功能在那里,它们可能被访问,但无论我尝试什么,我总是收到访问冲突。例如:
以及任何变化,包括设置argtypes
接收指针。
Pari .dll 是用 C 编写的,库中斐波那契函数的语法是GEN fibo(long x)
.
是否是导致这些错误的返回类型,因为它不是标准的int
,long
而是GEN
PARI 库独有的类型?任何帮助,将不胜感激。如果有人能够成功加载库并使用 python 中的任何函数,请告诉;我已经在这几个小时了。
编辑:好像我只是忘记初始化库。很快pari.pari_init(4000000,500000)
它就停止了错误。现在我的问题在于它返回一个 GEN 对象;这很好,但是每当我尝试引用它指向的地址时,它总是 33554435,我认为它仍然是一个地址。我正在尝试进一步的命令,如果我成功获得某些东西的正确值,我会更新。
c - 使用 paric 库实现按位运算
我是使用 PARI C 库的新手。
如何对 GEN 类型变量执行按位(“和”或“或”)操作?
math - pari 库中的幂函数
我正在尝试将 PARI 库用于 C。我是新手。每当我尝试使用任何函数时,都会出现分段错误或堆栈溢出错误。谁能给我一个链接,其中包含 PARI 中所有构造和函数的详细功能?我也想使用集合和向量。有没有像x的幂这样的函数?
c - 使用 C 语言的 PARI 库
我有 PARI 的所有源代码,但我不确定如何使用它/生成 pari 库。到目前为止,我不得不为诸如复数之类的东西添加几个头文件#include <complex.h>
,所以我认为使用 PARI 是相同的想法。
我在我的编译器中添加了 pari.h 的路径并#include <pari.h>
工作,但在paricfg.h
.
我肯定做错了。我知道有一些半自动化的方法可以创建一个库文件以使用 linux 命令导入,但我使用的是 windows,我不确定我是否可以通过 cmd 运行必要的文件。
我如何使用 PARI?
c - 在 Windows 上使用 Code::Blocks 在 C 中编译多精度数学库
我很难弄清楚如何做到这一点。我需要一个任意精度的 C 数学库。我对 CLN 或 PARI/GP 都很满意,我已经安装了这两个库。我使用的是 Windows,所以我必须通过 Cygwin 执行此操作,然后运行 ./Configure 文件,然后进行 make install。
一切都已建成,但我无法弄清楚如何将它们全部链接并使用它。我正在使用 Code::Blocks,每当我尝试包含必要的头文件时,都会出现大量错误。我还将 .a 文件与库链接,但也没有帮助。头文件会产生太多错误。
谁能告诉我如何完成这项工作?
build - PARI/GP 和 gcc
我正在尝试安装 PARI/GP,在配置步骤中我得到:
这很奇怪,因为文档说:
我也尝试过使用 g++ 得到相同的结果。
我正在尝试在 linux x86_64 上编译。
有任何想法吗?提前致谢,
米;
perl - perl 在 @INC 中找不到模块 Math::Pari 的可加载对象
我编写了一个 perl 脚本,它在我的环境中运行良好,但在我的客户端环境中它失败了:
我尝试添加 use lib 'Math'; 包含 Math-Pari-2.0305_01080605 模块的内容,但没有运气:/
我不希望我的客户自己安装 cpan 包 - 它应该是完全独立于环境的产品。
我宁愿避免从“Net-SSH-Perl-1.35”切换,因为我的大部分代码都依赖于它。
提前10倍!
更新:我正在重写更新以澄清事情:
我的出发点是以下库:
输出以下内容:
BEGIN 失败--编译中止...
为了解决这个问题,我添加了下一条语句:
使用库'Math-Pari-2.010709';
并且错误更改为:
这是 Math-Pari-2.010709 的内容:
数学-Pari-2.010709/数学:
我需要说的是 Math-Pari-2.010709 中最初不存在 Math 文件夹,所以我创建了它并将 Math-Pari-2.010709 的内容移到其中,以便 perl 正在寻找位置。
在这个阶段,我添加了:使用 Math::Pari
但似乎没有什么区别:
我总结了我迄今为止的所有尝试。
我将不胜感激任何帮助!
exception - Pari/GP 异常/中断循环
ellpow(E, P, m) 总是会抛出异常:
其中 x 和 y 是整数。
我想捕获值 x,而不是完成程序以便以后使用它。
代码片段是:
整个程序是:
pari - 如何使用 PARI C 库
我已经搜索了一些关于如何在C 程序中使用 PARI 库的教程,但不幸的是,我只找到了在命令行界面中使用 GP 包的通用教程。
有人可以帮忙吗?例如,我想初始化一个 3x3 矩阵并找到它的 1000 次方。在 gp(CLI)中,这可以通过键入以下内容来实现:
但我发现在C 源文件中做这个安静简单的事情没有任何帮助。是否有提供此类示例的综合教程或文档?任何评论将不胜感激!