0

我试图找到一个 C++ 库来处理一些有限域 GF(2^n) 上的多项式,并支持矩阵表示,支持秩查找/逆,甚至解决 A=X*B。我正在尝试使用 Linbox,但文档很少。在对库的 Givaro 部分做了一些讨厌的事情后,我能够将整数转换为多项式表示,但我无法使用 Linbox 的排名/求解部分,因为它们似乎不处理多项式, 只有指数为 1 的素数基数 (GF(2))。

这是代码的一部分

LinBox::GivaroGfq GF28(2, 8);
typedef LinBox::BlasMatrix<LinBox::GivaroGfq> Matrix;
Matrix mat(GF28);
//...Resize to MxM and insert M^2 elements
unsigned long int r;
rank(r, mat);

调试时,该rank函数始终将元素视为 GF(2) 上的元素并返回不正确的值。

关于如何使用这个库的任何想法?有一个 GF(2^n) 的 MxM 元素的矩阵并将其求逆或求其秩或求解线性方程组?或者我应该使用另一个库?

4

1 回答 1

0

看起来NTL是解决方案。它提供了以一些多项式为模的 GF(2^n) 多项式的舒适实现,并且可以轻松使用矩阵(逆,求解等)

于 2015-01-17T11:02:49.600 回答