PPSH: A C++ Library for Finite Field Computing(有限域的符号计算库PPSH)

 

有限域的符号计算库PPSH是我读博期间开始构思并实现的纯C++的有限域符号计算程序,最初动机是为满足有限域上代数方程组问题的求解效率(最初主要是针对\(\mathbb{F}_2\)上的);该程序汇集了许多有限域符号计算的常用功能,比如多项式的计算、消元、换元、扩域\(\mathbb{F}_{p^n}\)上的元素计算等等.

该程序需要基于C++符号计算库GiNaC,GiNaC是一个轻量级的C++符号计算库,其编译安装可以参见我的博客;关于本程序的更多细节可以参考:

环境安装     实现介绍     程序源码    

 

在安装GiNaC之后,即可编译使用PPSH计算程序:

1.编译源代码:


/path/to/ppsh$ g++ ppsh_functions.cpp -lginac -lcln -fPIC -shared -o libppsh.so

2.编译你自己的程序(这里是测试程序):

/path/to/ppsh$ g++ test_ppsh_functions.cpp -lginac -lcln -L. -lppsh -o exe
/path/to/ppsh$ ./exe
g^1 = 1+a+2*a^2
g^2 = 2*a+a^2
g^3 = 1+2*a+a^2
g^4 = 2
g^5 = 2+2*a+4*a^2
g^6 = a+2*a^2
g^7 = 2+a+2*a^2
g^8 = 1
g^9 = 1+a+2*a^2