小编Pau*_*lin的帖子

生成所有(0,1)nxn矩阵

在处理与Weisstein猜想相关的问题(https://cs.uwaterloo.ca/journals/JIS/VOL7/Sloane/sloane15.pdf)时,我需要为n = 生成所有n x n(0,1)矩阵2,3,4,...如果你考虑正确的二进制序列并相应地对它们进行分区,那就不难了.例如,以下是所有3 x 3矩阵:

With[{n = 3}, 
 lis = PadLeft[IntegerDigits[#, 2], n^2]& /@ Range[0, 2^n^2 - 1]; 
 mats = (Partition[#, n] & ) /@ lis
]; 
Run Code Online (Sandbox Code Playgroud)

Weisstein猜想包括,对于每个n = 2,3,...,计算其特征值都是实数和正数的矩阵的数量.对于n = 2,有3; 对于n = 3,有25; 对于n = 4,有543; 等等.特征值计算耗时但直截了当.

我感兴趣的是找到了枚举n x n矩阵的其他方法.为了获得所有这些,我使用了最多2 ^(n ^ 2)的整数的基数2表示,并进行分区以制作矩阵.必须有其他(更有效的?)方式.

wolfram-mathematica

5
推荐指数
1
解决办法
654
查看次数

标签 统计

wolfram-mathematica ×1