【发布时间】:2020-05-18 19:29:19
【问题描述】:
关于如何有效地生成任意 numpy 固定维度数组(n,m) 的任何想法,其中所有行都是彼此的排列,所有列都是彼此的排列(即强对称)?
【问题讨论】:
-
这个矩阵需要等于它自己的转置吗?
-
不,列和行可以彼此不同 - 重要的是所有行都有相同的元素,但顺序不同,列同上。
-
您的术语是“强对称”的。我不熟悉它。本文以不同的方式使用它sciencedirect.com/science/article/pii/S0012365X14001344。您所指的内容听起来像一个拉丁矩形,但本文对它的定义有所不同math.dartmouth.edu/~doyle/docs/latin/latin.pdf。这个问题专门针对生成 uniformly 随机拉丁方格,这很棘手math.stackexchange.com/questions/63131/…。
-
通过“任意”您是否考虑过特定的分布?对于固定尺寸
(n,m),您的符号字母表是什么?行和列是否需要不同的排列?对于维度(2,3)的简单案例,我相信只有这样的数组是恒定的(全为 1,或全为 2,等等)。我相信对于任何(n,m)都是如此,其中n和m彼此相对质数。我想我有一个证据,但我还没有详细研究过。 -
感谢@KyleParsons 的cmets。 “强对称”是我从这套讲义isiweb.ee.ethz.ch/archive/massey_scr/adit1.pdf(参见第 76-78 页)中借用的术语,它描述了“强对称”通道的转换矩阵。它确实类似于拉丁矩形,但不一样。为简单起见,我们可以将字母表限制为自然数(包括 0),不,我不是在寻找任何特定的分布,仅针对此类矩阵的一些示例。
标签: python numpy matrix permutation symmetric