给定一个15 * 15对称矩阵,每行包含1到15之间的所有数字,每列包含1到15之间的所有数字,你如何继续证明所有对角元素都不同? 我试图证明没有两个对角元素是相同的,但是不能提出任何可靠的东西。甚至尝试过5 * 5矩阵,但我无法想出来证明这一点。 任何帮助将不胜感激!
答案 0 :(得分:1)
这是对称拉丁方的问题。第一次观察(需要一个简短的证明)是数字1到15中的每一个在非对角线位置出现偶数次。由于15是奇数,这意味着每个数字必须在对角线位置至少出现一次。但是只有15个对角线位置,因此每个数字必须在对角线位置恰好出现一次。
答案 1 :(得分:0)
如果通过'证明'表示对特定矩阵进行演示,请参见下文。如果用“证明”来表示数学证明,那么所有对角矩阵都是对称矩阵,并且对角矩阵不需要具有唯一元素,因此并非所有对称矩阵都在对角线上具有唯一元素。
测试特定矩阵的一种方法是创建一个包含所有对角元素的新数组,然后消除该数组中的重复数据,并测试长度。另一种方法是采用每个对角元素,并将其与对角线上具有较高指数的元素进行比较。这是后者的一些使用基于0的数组的伪代码
unique = TRUE
for i = 0 to 14 {
value = matrix[i][i]
for j = i+1 to 14 // doesn't loop if i+1 > 14
if (value == matrix[j][j])
unique = FALSE
}
ADDED:OP指出我错过了对每行和每列内容的限制!所有由N个唯一值组成的对称NxN矩阵,在每个行和列中没有重复值,必须具有由对称性定义的仅由一个值组成的反对角线。如果N是奇数,则得到的矩阵具有对角线和反对角线中的单个元素(当然,如果N是偶数,则没有共同的元素)。鉴于此,您可以看到除了公共元素之外,每个位置的对角线值必须与反对角线不同。将其与每行和每列具有N个值的要求相结合,您将看到每行的对角线元素必须不同。这不是正式的,但我希望它有所帮助。
答案 2 :(得分:0)
我们可以假设给定的矩阵为m * m,并用m个不同的数字填充该矩阵:N1,N2 ... Nm。
因为每个元素应该在每列/行中显示一次,对于每个数字,它将在矩阵中显示n)次。
由于它是对称的,每个数字在对角线上方的上部将显示x(偶数)倍,在对角线下方的下部将显示x(偶数)倍。这样,除了对角线以外,每个数字在矩阵中还会显示2 * x(x是偶数)次。
因此,如果给定的m为奇数,则每个数字应在对角线上再显示一次;如果给定的是偶数,我们不要求每个数字都出现在对角线上,因为2 * x已经是偶数了。