我想创建一个矩阵A [4x8],如下所示.
矩阵A总是具有1对角线.A11,A22,A33,A44 = 1
这个矩阵可以被认为是两半,前半部分是前4列,后半部分是第二列,如下所示:
1 -1 -1 -1 1 0 0 1
A = -1 1 -1 0 0 1 0 0
-1 -1 1 0 1 0 0 0
-1 -1 -1 1 1 1 0 0
Run Code Online (Sandbox Code Playgroud)
前半部分的每行可以有两个或三个-1:
-1,则后半部分中的相应行应该有一个1-1,则矩阵的后半部分应该有两个1.总体目标是得到每一行的总和0.我需要生成像这样的矩阵的所有可能组合.
如果在每次迭代中创建具有新组合的矩阵将更好,以便在使用它之后我可以丢弃它或者存储所有组合是非常空间密集的.有谁能够帮我 ?
我能想到的一个可能的解决方案是生成row1,row2,row3和row4的所有可能组合,并在每次迭代中创建一个矩阵.这看起来可行吗?