【问题标题】:Python generate all possible combinations of matrix with diagonal entries zeroPython生成对角线条目为零的矩阵的所有可能组合
【发布时间】:2020-01-11 13:38:07
【问题描述】:

我是一名图论家和 Python 初学者。

类似于下面的问题,

Python generate all possible combinations of matrix

我需要用 -1 和 1 生成所有可能的矩阵组合,但是这里,对角线项都为零。有人可以帮忙吗?

非常感谢。

【问题讨论】:

  • “矩阵”是什么意思?列表列表还是 numpy 数组?
  • 你不能使用mn-1 对那个问题使用已接受的答案,并在重塑时添加零吗?
  • 我们可以看看你期待什么样的输出?
  • @John Coleman... numpy 数组。就像我放的链接中的代码一样。
  • 这是最好的选择,但这个问题本身是根据列表列表提出的。

标签: python matrix combinations


【解决方案1】:

可能有一种更有效的方法,但这应该可行。

import numpy as np
from itertools import product

sq_dim = 3

all_x = product([1, -1], repeat=sq_dim**2)
all_x = np.reshape(list(all_x), (-1, sq_dim, sq_dim))

for x in all_x:
    np.fill_diagonal(x, 0)

solution = np.unique(all_x, axis=0)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-10-27
    • 1970-01-01
    • 1970-01-01
    • 2012-12-27
    • 1970-01-01
    • 1970-01-01
    • 2011-06-20
    • 1970-01-01
    相关资源
    最近更新 更多