我已经搜索了一些关于如何在C程序中使用PARI库的教程,但不幸的是,我只找到了在命令行接口中使用GP包的通用教程。
有人能帮忙吗?例如,我想初始化一个3x3矩阵,并找到它的1000次方。在gp ( CLI)中,只需键入以下内容就可以实现这一点:
? A=[1,2,3;4,5,6;7,8,9]
? A^1000
但是我发现在C源文件中做这个简单的事情没有帮助。是否有一个全面的教程,或提供这样的例子的文档?如有任何评论,将不胜感激!
发布于 2015-04-21 18:31:00
手册libpari (“PARI库用户指南”)中介绍了这一点。简单情况下使用它的一种简单方法是保存相关的GP脚本并在其上运行gp2c -g
,这将生成一个C文件,使用PARI库进行计算。然后,您可以编辑,以适应您的口味。
对于这一特殊情况:
#include <pari/pari.h>
GEN test(void);
GEN
test(void)
{
GEN A = cgetg(4, t_MAT);
gel(A, 1) = cgetg(4, t_COL);
gel(A, 2) = cgetg(4, t_COL);
gel(A, 3) = cgetg(4, t_COL);
/* Create matrix A */
gcoeff(A, 1, 1) = gen_1;
gcoeff(A, 1, 2) = gen_2;
gcoeff(A, 1, 3) = stoi(3);
gcoeff(A, 2, 1) = stoi(4);
gcoeff(A, 2, 2) = stoi(5);
gcoeff(A, 2, 3) = stoi(6);
gcoeff(A, 3, 1) = stoi(7);
gcoeff(A, 3, 2) = stoi(8);
gcoeff(A, 3, 3) = stoi(9);
/* Fill matrix A with values */
return gpowgs(A, 1000); /* Return A^1000 */
}
https://stackoverflow.com/questions/20347562
复制相似问题