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

问题描述 投票:0回答:1

我有以下代码

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行,以便在将来的函数中使用它?

python loops save sage
1个回答
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]
© www.soinside.com 2019 - 2024. All rights reserved.