如何使用PARI C库

时间:2013-12-03 09:42:21

标签: pari pari-gp

我已经在 C程序中搜索了一些关于如何使用PARI库的教程,但不幸的是我在命令行界面中找不到使用GP包的通用教程。

有人可以帮忙吗?例如,我想初始化一个3x3矩阵并发现它的1000次幂。在gp(CLI)中,只需键入以下内容即可实现:

? A=[1,2,3;4,5,6;7,8,9]
? A^1000

但我发现在 C源文件中做这个安静简单的事情没有任何帮助。是否有全面的教程或提供此类示例的文档?任何评论都将非常感谢!

1 个答案:

答案 0 :(得分:4)

这包含在手册libpari中("用户对PARI库的指南")。在简单的情况下使用它的一种简单方法是保存关联的GP脚本并在其上运行gp2c -g,这将生成一个使用PARI库进行计算的C文件。然后,您可以根据自己的喜好进行编辑。

对于这个特例:

#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 */
}
相关问题