问题标签 [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.
first-class-functions - Pari/GP:用户定义函数作为返回值
我对使用用户定义函数返回函数的 Pari/GP 用户定义函数有疑问。这是一个愚蠢的例子:
我希望得到 h(1)=(g(2))(1)=y(1)=(f(2))(1)=3。我是否遇到了 Pari 中一流功能的限制,或者我做错了什么?如果是后者,我该如何解决?
pari - 我如何知道一个号码是否在 PARI/GP 的列表中?
我想知道一个数字是否在 PARI/GP 列表中,但我不知道该怎么做,这是我的代码:
我正在从 Python 迁移到 PARI/GP 我的一些脚本,我迷失在那些基本的东西上,手册有点难以理解。谢谢!
pari - 从 PARI/GP 复制号码
我有一个问题,可能有一个简单的解决方案。
假设,我在 PARI/GP 中计算了一个很大的数字,比如说,10,000 位长。
我想将此号码复制到普通文本文件中,以便可以将其复制回 PARI/GP。
问题是,该程序不会避免(隐藏)换行符,所以如果我将数字复制回来,PARI 就无法读取它。print1-command 也无济于事。
我有两个不满意的想法:
1)在编辑器中复制,使用退格键删除(隐藏的)换行符,它只能在一定长度内起作用。
2)延长线的允许长度,但是我不能轻松快速地标记数字,这对于正常的lentgh 80是没有问题的。
如何避免 PARI/GP 输出中的换行符?
function - 有没有一种舒适的方法可以在 PARI/GP 中生成 n 中的 k 组合?
假设,我在 PARI/GP 中有一个带有 n 个元素的向量。
我想从 n 个元素中生成 k 个组合。
例如,如果向量是[3,7,11,14,18]并且k=3,那么输出应该是
PARI/GP 中是否有执行此操作的命令,还是我必须对功能进行编程?
pari - 在 Pari/GP 中添加数字列表
我有一个 .txt 文件,其中包含一系列数字,如下所示:
修正一些正整数n
。使用 Pari/GP,如何将序列写[a_1, a_1 + a_2*n, a_1 + a_2*n + a_3*n, ...]
为 Pari/GP 向量?有人告诉我我应该使用 use concat(-,-)
,但我不知道如何使用该命令。
pari - 在 pari-gp 中,如何找到有限域的原始元素?
q^n
说,我想要一个包含一些元素的有限域prime q
和positive n
。如何得到它的原始元素?
windows - 缺少主程序中控制台子进程的管道输出(Pari/GP,cygwin?)
我有一个用于数学控制台程序 Pari/GP 的用户 GUI(在 Delphi 6 中,32 位):我在一个不可见的子进程窗口中调用 Pari/GP 并使用管道 STDIN 和 STDOUT 进行通信,就我而言可以从 Delphi 中的源代码中识别控制台子进程,也可以是 STDERR。
从 Pari/GP 版本 2.2.11 到版本 2.4 左右,一切正常,我通过等待提示来确定与子进程的通信(异步)的开始和结束。但从 2.5 版开始,管道不再得到提示。但是,当我在 cmd 窗口中启动 Pari/GP 时,我会看到完整的对话框,包括提示。(我有 Win7,64 位,但这似乎不相关,在具有 XP 的虚拟机中的行为是相同的,32 位)
我没有 Pari/GP 软件的源代码,但版本之间可能存在显着差异,即较新的版本没有外部 cygwin.dll。
问:这种行为是已知的,也是它的原因吗?已知的解决方法?还暗示最可能的原因是有帮助的。
根据要求,更多背景知识。在 Delphi-6 中,我使用过程“createconsoleprocess”(由 Jedi-project 实现),它为
writeln(<string>)
不可见的子进程和两个稍微不同的永久线程提供了一个通过管道异步等待响应的永久线程(我假设,stdout
)。对于所有版本,这仍然可以正常工作。但在旧版本中,每个响应都是 Pari/GP
prompt
(只是一些字符,如 Dos 窗口中的 Dos 提示符)。附加到答案的最后一部分,这样我就可以解析响应的各个部分,直到prompt
-symbol 出现,然后可以通过字符串列表将完整的答案显示为 Pari/GP 输出给用户。
在版本 Pari/GP 2.5 之后不再出现该提示,因此如果我不进行更正,用户将无限等待 Pari/GP 响应的完成。对我来说,这是不可能的——无论是通过更改用于提示和回显的软件标志,还是通过管道定义中的 hackwise replace by——stdout
来stderr
产生提示。疯狂:如果我只是通过 cmd 在单独的 Windows 控制台中启动 Pari/GP,那么提示就在那里 - 好像有一个新管道,它不为createconsoleprocess
Windows 操作系统所知,但提示是通过这个新的管道。
对这些版本唯一可能相关且可见的修改似乎是,旧版本具有cygwin.dll
Pari/GP 和新版本没有。但是,尽管我之前已经下载了一些文档,但我不知道 cygwin-secrets - 但这根本不是我的专业知识......
这是显示通信原理的图像。我们看到我的 GUI 的窗口,它有一个 Pari/GP 子进程,它通过 CreateConsoleProcess 过程提供的 STDIN/STDOUT 管道在后台与之通信。
我还有一个精确的调试工具,可以准确地显示管道上的字符串流。只是在较新的版本中,提示字符串不再附加在 STDOUT 消息的末尾,(我也无法通过 STDERR 通信找到它)但是简单的 cmd 控制台窗口有这个提示,所以它必须在任何地方……
pari - 在 pari-gp 中,有什么东西可以将有限域映射到它的某个扩展吗?
比如说,我有一个超过 GF(2) 的多项式 p(x) 和一个超过 GF(4) 的多项式 g(x)。例如,
在这种情况下,pari-gp 是否提供任何东西来进行?如果不是,我该如何进行所需的嵌入?
if-statement - 如何在 Pari/GP 中检查数字是否为整数?
我正在尝试编写这样的 if 语句
i
可以是任何整数,例如 10。当我设置i
为 10 时,会出现以下错误:
我真的只需要检查是否[(x-1)! + 1] / x
是整数。分母是我想出的,我也尝试过Mod,但也无法正常工作。
unix - 检查返回的数字是否是 GP/Pari 中的整数?
这是我第一次使用 GP/Pari,我无法完成这个问题。
如果函数'wq()'的返回是一个整数,我被要求打印。有没有一个函数可以判断传入的数字是否为整数?如果不是,我将如何检查?我发现语法有些困难,在网上找不到太多关于它的信息。
我已经包括了我到目前为止所拥有的任何帮助,我们将不胜感激。