【发布时间】:2020-10-02 09:41:26
【问题描述】:
我试图找到一个解决方案来找到矩阵的所有列排列。所以我写了这段代码,但它不起作用。
已解决:
#! python
import numpy
def permutation(matrix):
if numpy.size(matrix,1) == 1:
return [matrix]
#empty list
m=[]
# Iterate the input(matrix) and calculate the permutation
for i in range(numpy.size(matrix,1)):
column = matrix[:,[i]]
# Extract column[i] or m from the matrix. remMatrix is the remaining matrix
remMatrix = numpy.concatenate((matrix[:,:i], matrix[:,i+1:]), axis=1)
# Generating all permutations where m is the first element
for p in permutation(remMatrix):
m.append(numpy.concatenate([column,p],axis=1))
return m
#driver to test the function
matrix=numpy.matrix('1 2 3; 0 0 0')
for p in permutation(matrix):
print(p)
【问题讨论】:
-
这能回答你的问题吗? Permute rows and columns of a matrix
标签: python numpy matrix permutation