python将一维数组转化为二维数组,python 二维数组变成一维
我想为一个输入D(一个质数)生成所有的平方置换矩阵。我知道一般来说,所有排列都有这样的例子,但我在寻找符合数学定义的排列矩阵。
置换矩阵是通过根据数字1到d的某种排列来排列dxd单位矩阵的行而获得的矩阵。因此,每一行和每一列都恰好包含一个1,而在其他地方包含0。在
比如对于2x2,[[1,0],[0,1]]和[[0,1],[1,0]]满足这个要求,而[[1,1],[0,0]]等等。没有,所以希望不是重复的问题。我有一个代码可以做到这一点,我的测试是我应该有D!矩阵。当我11岁的时候,我活该11岁!Matrix,但是我得到了一个错误,我的代码由于内存丢失而被关闭。希望有人有更有效的方法解决这个问题,因为我想导入一个更大的素数的数学。
将numpy作为np导入
导入cmath
从sympy.utilities.iterables导入多重集合置换
从itertools导入排列,链
从pprint导入pprint
从numpy导入ndarray
从numpy进口linalg as LA
d=5
打印(“主要尺寸”,d)
a=[1] [0 for _ in范围(d-1)]
N=[]
P=[]
Pdagger=[]
对于多重集置换中的p(a):
附加名词
#生成所有置换矩阵的列表,包括单位(最后)
对于多重集置换中的N(N):
n
追加(名词)
打印(镜头(P))
如果有帮助的话,我在ipythonjupyter笔记本上运行我的代码。我知道这可能不是最好/最有效的运行方式,但我正在寻求任何人的建议。顶部所有导入的库都与以下代码相关。在
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。