首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在pari-gp中创建初始化文件。

在pari-gp中创建初始化文件。
EN

Stack Overflow用户
提问于 2021-07-14 01:58:04
回答 2查看 237关注 0票数 1

这个问题绝对是个愚蠢的问题。但是,来自C;我在向pari代码中添加头文件或“初始化”文件时遇到了困难。这意味着,我有一个1小时的代码编译来生成一个向量;我可以在初始化后使用这个向量;但是我想要对这个向量创建一个文件,这样我就可以在编译一次之后访问它。

下面是没有头文件的代码;编译大约需要一个小时(给定设置为100的系列精度/数值精度)。

代码语言:javascript
复制
\p 100
\ps 100
Phi_Inv(w,l,{n=100}) =
{
    my(out = 0);
    for(i=0,n,
        out = w*exp(out)/(exp(l*(n+1-i))+w)
    );
    out;
}




beta_init(n) = {
    beta_taylor = vector(100,i,polcoef(Phi_Inv(w,l,n),i-1,w));
    print(beta_taylor);
}

beta_taylor和像print(beta_taylor)这样的穴居人的残酷分配不同,我如何将它写到我可以用脚本打包的初始化文件中。也就是说,一个X mb文件,所有系数都整齐地打包在一起。如果文件丢失,只需运行代码(这将需要一个小时)再次编写初始化文件。

我的意思是,在#include test.h中,test.h只是一长串泰勒级数的值,我该怎么做呢?这样我就可以包含这个文件,并为I‘’th函数编写beta_taylor[i]。它就像包含变量一样简单,就像C。我知道我错过了一些简单的东西,这让我感到很沮丧--让我觉得自己很蠢。

我主要是问一下要做什么语法。我想我知道怎么做,但我想这不是最好的办法。

任何帮助或建议都是非常感谢的(我是认真的,非常感谢)。

长话短说:在初始化程序时,如何将beta_taylor保存为加载的文件?如果文件被删除,我们可以通过运行一个小时的代码再次保存程序?

问候

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-07-14 03:26:07

所以你想把你的数字向量序列化成一个文件,然后再读回来?

writebin()去营救。有点像

代码语言:javascript
复制
beta_init(n) = {
    beta_taylor = vector(100,i,polcoef(Phi_Inv(w,l,n),i-1,w));
    writebin("beta_taylor.dat", beta_taylor);
}

在一个gp会话中运行函数,然后在另一个会话beta_taylor=read("beta_taylor.dat")中运行该函数。

首先用gp2c编译代码,然后再运行它来计算数字,如果您还没有这样做,那么就会加快速度。gp2c-run通过编译一个文件并使用已经加载的共享库启动一个新的gp会话,从而使它变得简单。您可能还会研究一下,这里是否可以使用并行操作来加速初始计算;阅读parvector()的文档,我认为不可能,因为在beta_init()中使用的神秘的l变量,我看不到您在任何地方定义,但是您可能可以用硬编码常量或其他什么来重新表述您的方程。

票数 1
EN

Stack Overflow用户

发布于 2021-10-17 09:16:28

Pari/GP的初始化,在程序开始时:(文件gprc.txtgp.exe目录中)

代码语言:javascript
复制
lines  = 25
colors = "brightfg"
histfile = "gp_history.txt"
breakloop = 0
help = "@ perl\\perl gphelp.pl -detex -ch 10 -cb 11 -cu 12"
prompt = "gp >"
prompt_cont="gpc>"
datadir = "u://paritty/syntax/_v11/"
path = "u://paritty/syntax/_v11/"
primelimit = 100 000 000
parisizemax = 1 000 000 000
read  "__init.gp"
echo = 0

文件__init.gp包含我常用的函数;读取预计算数据向量的命令当然可以包含在其中。如果没有指定路径,则将在path=语句中给定的目录中搜索路径。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68371128

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档