0

我想为 NTL 中 mat_ZZ_p 类型的矩阵参数 mat_ZZ_p A 提供值。我的向量的维度很大。所以,我正在寻找一个大方阵作为参数。因此,我无法手动分配值。对我来说,这里的一个优势是我的矩阵的列只是第一列的旋转。它的形式

    p_0      p_(n-1)  p_(n-2) .... p_1
    p_1      p_0      p_(n-1) .... p_2
     .
     .
    p_(n-1)  p_(n-2)  p_(n-3) .... p_0

我有一个变量 p,它是一个值为 p_0、p_1、...、p_(n-1) 的向量。我已经使用通过向量 p 的循环分配了矩阵的第一列。但我不确定如何为其他列进行轮换。我尝试使用对角线查看时的值是相同的,但在这种情况下,我不确定如何绑定循环。我试图利用这样一个事实,即当我们从一列移动到另一列时,元素会出现对角线向下移动。但同样在这种情况下,我无法仅通过引用前一列来为第一行第二列分配值。有没有标准的方法来做这样的柱子旋转?

由于我试图解决 Z_p 中的方程组,我认为这篇文章中的评论对我没有帮助。 在代码中求解线性方程的最佳方法

4

2 回答 2

1

如果您参考m[i][j]矩阵 nxn 的通用元素,那么您需要的是

m[i][j] = m[(i + n - 1) % n][j-1]对于每个j > 0

于 2016-03-14T07:54:01.723 回答
-1

对于维度为 n * n 的方阵,要引用不在第一列或第一行中的任何元素,请使用m[i - 1][j - 1], 其中 i 和 j 是行和列。

于 2016-03-14T07:59:32.337 回答