我已经搜索了一些关于如何在C 程序中使用 PARI 库的教程,但不幸的是,我只找到了在命令行界面中使用 GP 包的通用教程。
有人可以帮忙吗?例如,我想初始化一个 3x3 矩阵并找到它的 1000 次方。在 gp(CLI)中,这可以通过键入以下内容来实现:
? A=[1,2,3;4,5,6;7,8,9]
? A^1000
但我发现在C 源文件中做这个安静简单的事情没有任何帮助。是否有提供此类示例的综合教程或文档?任何评论将不胜感激!
这在手册 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 */
}