问题标签 [pari-gp]

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.

0 投票
1 回答
44 浏览

pari - 如何返回集合的大小

我在 Pari gp 中有一个代码,它搜索(a(x),b(x))给定值的对,x使它们成为素数。如何返回使两者都为素数的 ia(x)b(x)总数

0 投票
2 回答
151 浏览

reverse - 如何反转 PARI/GP 中整数的数字?

作为我正在做的一个小型项目的一部分,我需要一种方法来反转 PARI/GP 中整数的数字(该项目主要是回文数和数字总和)。

我试图以代码形式实现的是fun(13453)给予35431.

例如,我尝试执行以下操作:

  • Vecrev(digits(13453))给出,[3,5,4,3,1]但我不知道如何连接此列表中的每个连续元素。

  • 我不认为有一个预设功能,如rev, reverse, 或未digitrev在 PARI/GP 中定义。

有人可以告诉我如何做到这一点吗?最好不要使用循环,因为我希望将一个简单的函数放入if语句或for循环中。

0 投票
1 回答
65 浏览

pari - 如何确定哪些数字在某个范围内

我目前有一个数字列表,我想知道这些数字中有哪些在一定范围内,以及它们在列表中的位置。

我对帕里相当陌生,所以我不确定该怎么做。

对于我正在做的一个简单的例子:

找出 0.05 和 0.15 范围内的数字 1 到 20 的倒数

我已经建立了一个这样的列表:

从这里开始,我想要一个所有 i 的列表,以便 A[i] 在该范围内。

但我不确定如何从这里开始。我尝试了一些简单的 if/for 语句,但这些都不起作用。

我将如何尝试去做这样的事情?

0 投票
1 回答
805 浏览

file-writing - 将输出写入 Gp Pari 中的文件

我在 Gp Pari 上运行了相当长的计算,而 Pari 在计算过程中崩溃了,实际上浪费了一周的计算时间。在我再次运行程序之前,我想找到一种在计算输出时将输出写入文件的方法,这样如果再次发生这种情况,我将能够从程序停止的地方开始,而不是需要启动超过。

话虽如此,我这辈子都无法让 Pari 的读取功能正常工作。代码的每一个变体

for(i=1,10, write("C:\Users\Jonathan Hales\Desktop\pari_data.txt",i))

只是给了我错误

“写入:打开输出文件时出错:‘UsersJonathan HalesDesktoppari_data.txt’。”

但是我可以使用元命令

\w"C:\Users\Jonathan Hales\Desktop\pari_data.txt"这会将 pari 的最后一个输出打印到文档中。但是,我不能在 for 循环中间使用元命令,这首先违背了将其写入文档的目的。

0 投票
1 回答
52 浏览

polynomials - 从多项式中去除循环因子 - Pari

我想取一些多项式 f 并删除它的所有分圆因子,然后查看生成的多项式(比如 g)。我知道polcyclofactors并且我尝试过的当前代码是:

我遇到的问题是polcyclofactors没有考虑到分圆因素的多样性。例如:

有什么方法可以很好地包含 f 的多个分圆因子来除以?还是我必须考虑分解 f 并尝试以这种方式去除分圆因子?

0 投票
2 回答
53 浏览

pari - 如何从 G(z) 获得幂级数 G(z^2)

我认为这是一个简单的问题,但我找不到正确的方法。

substpol几乎可以按我的需要工作,但多项式次数加倍。

例如,使用:

G(z)=1+2*z+3*z^2+O(z^5)

我有:

但我想将结果保留在 O(z^5) 中:

0 投票
0 回答
102 浏览

equation-solving - PARI/GP 范围内函数的零点

我试图在 [0,1] 范围内找到函数的零点。我的函数通常看起来像这样:

到目前为止,我尝试过的天真的方法是将函数的非常粗略的图绘制到 Pari,plot(t=0,1,F(t))中,然后从那里“猜测”一个小范围 [a1,a2] 第一个零的位置。然后我一直在使用solve(t=a1,a2,F(t))找到那个零。然后找到第二个小范围 [a2,a3],并重复,直到我找到所有零。

显然不是一个好方法,但它完成了工作,到目前为止我看过的许多例子只有几个零。但是,我现在正在查看的示例(例如我在上面定义的 F(t))有更多的零,所以我正在寻找一种更快的方法。

我知道solvestep,但我尝试过使用它,但它永远不会返回任何解决方案。我猜这种类型的函数并不适合它使用的拆分方法(或者可能我用错了..)。

有没有什么好方法可以让我在 [0,1] 中返回这个函数的零,而不必经历这个漫长而幼稚的方法?

0 投票
2 回答
77 浏览

exp - Pari/GP 中的二进制拆分

在尝试在没有 FPU 的情况下实现正弦函数时,我意识到所有输入都已经是理性的,因此我决定尝试一种全理性的方法。可能更慢但是:为什么不呢?该系列是线性收敛的,因此有机会通过二进制拆分进行运行时优化。甚至还有关于如何做到这一点以及我使用的非常详细的文献。

到目前为止,一切都很好。

我的数值算法原型工具是 Pari/GP,所以我将上面提到的论文中的代码移植到了 Pari/GP 中,正如您可能已经从我在这里发布问题的事实中猜到的那样,它不起作用。好吧,它确实有效,但无法将错误最小化。该论文还有其他几种不同功能的配方,但都表现出相同的行为。假设论文中有错字,我检查了作者在CLN中的实现。高度优化,但基于论文中的代码,甚至是逐字记录。

为了获得 MWE,我使用了他们的配方exp(p/q)(除了阶乘之外最简单的配方)并简化了 Pari/GP 代码。

(最后一个可能需要更长的时间,如果你想运行它可以跳过它。)

如您所见,经过几十个步骤后,无法进一步减少错误。

所以这要么是我对算法如何工作或 Pari/GP 如何工作的误解。它是哪一个,为什么?

0 投票
1 回答
96 浏览

graph-theory - 在 Pari/GP 中为路径图编写代码

我正在尝试为 Pari 中 n 个顶点上的路径图的邻接矩阵编写一个矩阵。为了清楚起见,当我说图 P_n 时,我指的是具有 n 个顶点和 n-1 条边的图。

到目前为止,我已经设法针对特定情况执行此操作:

等等

但是,我想要一个可以选择路径长度的代码。类似的东西path(n)=...。当我用上面的代码尝试这个时,我得到以下信息:

我不确定这是否是写这篇文章的正确方法,我错过了一些微妙的东西,或者我是否应该为此做一些不同的事情。任何帮助将不胜感激!

0 投票
1 回答
85 浏览

pari - Pari GP 函数“读取”产生嵌套太深的 *** 表达式

我让 Pari 计算了一些多项式并将它们写入文件中。现在我想把它们读回来,我遇到

*** 表达式嵌套太深。

文件中没有循环,它只是第 n 行上的 {P[n]=(some (Laurent) polynomial in q);}。

该文件只有约 500 KB,我读过更大的文件。

我尝试检查是否有错误并且找不到它们。接下来,我尝试简化文件并读取前一百个多项式左右。这行得通,然后我尝试只加载一个较大的多项式。它不起作用,然后我删除了文件中的一些项,发现如果删除了足够多的项,它就可以读入它。

例如我输入

或者

文件只是表格的一行

这是可以阅读的

文件只有一行完全相同,除了给定的额外+1

无法读入。