如何在SageMath中保存/命名循环结果

时间:2016-01-25 09:02:27

标签: python loops save sage

我有以下代码

N = 3
Z = matrix(24, 3); Z
for i in range(N - 1):
    for j in range(N - 1):
        for k in range(N - 1):
            m = matrix([[0, i, j], [i, 0, k], [j, k, 0]]); m

结果是:

[0 0 0]
[0 0 0]
[0 0 0]
[0 0 0]
[0 0 1]
[0 1 0]
[0 0 1]
[0 0 0]
[1 0 0]
[0 0 1]
[0 0 1]
[1 1 0]
[0 1 0]
[1 0 0]
[0 0 0]
[0 1 0]
[1 0 1]
[0 1 0]
[0 1 1]
[1 0 0]
[1 0 0]
[0 1 1]
[1 0 1]
[1 1 0]

如何保存/命名每次迭代的结果?在MATLAB中,我们只需创建一个零矩阵并在每次迭代时填充它。在这里它不起作用。或者换句话说,如何从结果中重新调用每3行,以便在将来的函数中使用它?

1 个答案:

答案 0 :(得分:0)

您可以定义一个功能

def m(i, j, k):
    return matrix([[0,i,j],[i,0,k],[j,k,0]])

然后只是称之为

sage: m(1,0,1)
[0 1 0]
[1 0 1]
[0 1 0]