我如何找到对角线对称值的索引?
How can i find index of symetric value in diagonal?
我在一维数组中创建了一个逆矩阵,我想了解如何获取对角线反射值的索引。
例如:
假设我找到了值(值:1)并且我也知道该值的索引(索引:1)。我怎样才能找到这个值的第二个索引?
假设逆矩阵中的值可以重复。
const matrix: number[] = [0, 1, 2, 3, 1, 0, 4, 5, 2, 4, 0, 6, 3, 5, 6, 0];
是逆矩阵还是对称矩阵?我相信你所展示的是一个对称矩阵。
矩阵逆定义为:
如果 A*B = I
那么 B
是 A
的逆矩阵,其中 I
是单位矩阵。
假设您创建了一个对称矩阵,该矩阵的 属性 为:
每个 (i,j) -> A(i,j) == A(j,i)
现在假设您将矩阵表示为一维数组,索引 k
处的元素可以转换为其对应的 (i,j)
位置,如:
i = k / C
j = k % C
其中 C
是列数
还有一个位置(i, j)
可以转换成对应的一维位置为:
k = i*R + j
其中 R
是行数。
现在要得到给定k
的(i,j)
的对称值,首先将k
转换为(i,j)
,然后将(j,i)
转换为[的新值=15=]
newK = j*R + i
例如k = 1
对应(i,j) = ( 1 / 4, 1 % 4) = (0, 1)
和newK = 1*4 + 0 = 4
为k = 6
对应(i,j) = ( 6 / 4, 6 % 4) = (1, 2)
和newK = 2*4 + 1 = 9
为k = 15
对应(i,j) = ( 15 / 4, 15 % 4) = (3, 3)
和newK = 3*4 + 3 = 15
为k = 5
对应(i,j) = ( 5 / 4, 5 % 4) = (1, 1)
和newK = 1*4 + 1 = 5
任何落在对角线上的东西都是它自己。
我在一维数组中创建了一个逆矩阵,我想了解如何获取对角线反射值的索引。
例如: 假设我找到了值(值:1)并且我也知道该值的索引(索引:1)。我怎样才能找到这个值的第二个索引? 假设逆矩阵中的值可以重复。
const matrix: number[] = [0, 1, 2, 3, 1, 0, 4, 5, 2, 4, 0, 6, 3, 5, 6, 0];
是逆矩阵还是对称矩阵?我相信你所展示的是一个对称矩阵。
矩阵逆定义为:
如果 A*B = I
那么 B
是 A
的逆矩阵,其中 I
是单位矩阵。
假设您创建了一个对称矩阵,该矩阵的 属性 为:
每个 (i,j) -> A(i,j) == A(j,i)
现在假设您将矩阵表示为一维数组,索引 k
处的元素可以转换为其对应的 (i,j)
位置,如:
i = k / C
j = k % C
其中 C
是列数
还有一个位置(i, j)
可以转换成对应的一维位置为:
k = i*R + j
其中 R
是行数。
现在要得到给定k
的(i,j)
的对称值,首先将k
转换为(i,j)
,然后将(j,i)
转换为[的新值=15=]
newK = j*R + i
例如k = 1
对应(i,j) = ( 1 / 4, 1 % 4) = (0, 1)
和newK = 1*4 + 0 = 4
为k = 6
对应(i,j) = ( 6 / 4, 6 % 4) = (1, 2)
和newK = 2*4 + 1 = 9
为k = 15
对应(i,j) = ( 15 / 4, 15 % 4) = (3, 3)
和newK = 3*4 + 3 = 15
为k = 5
对应(i,j) = ( 5 / 4, 5 % 4) = (1, 1)
和newK = 1*4 + 1 = 5
任何落在对角线上的东西都是它自己。