挑战
给定九个数字,a, b, c, d, e, f, g, h, i
作为与平方矩阵相对应的输入:
M=⎛⎝⎜adgbehcfi⎞⎠⎟
求矩阵的逆M− 1并输出其分量。
逆矩阵
矩阵3乘3的逆遵循以下方程式:
M M− 1= M− 1M =我 = ⎛⎝⎜1个0001个0001个⎞⎠⎟
可以计算为:
中号− 1= 1det (M)CŤ
其中是辅助因子的矩阵:C
C = ⎛⎝⎜e i − fHÇ ħ - b 我b ˚F− c eFG- d一世一个我- Ç 克ç d- 一个˚Fdħ - ë 克b g ^− a ha e − b d⎞⎠⎟
和是转置:ÇCTC
CT=⎛⎝⎜ei−fhfg−didh−egch−biai−cgbg−ahbf−cecd−afae−bd⎞⎠⎟
和是的行列式:Mdet(M)M
det(M)=a(ei−fh)−b(di−fg)+ c (dħ - ë 克)
工作实例
例如,假设输入为0, -3, -2, 1, -4, -2, -3, 4, 1
。这对应于矩阵:
M=⎛⎝⎜01−3−3−44−2−21⎞⎠⎟
首先,让我们使用上面的公式来计算所谓的行列式:
det(M)=0(−4×1−(−2)×4)−(−3)(1×1−(−2)×−3)+(−2)(1×4−(−4)×−3)=1
接下来让我们计算辅助因子的矩阵:
C=⎛⎝⎜−4×1−(−2)×4−(−3×1−(−2)×4)−3×−2−(−2)×−4−(1×1−(−2)×−3)0×1−(−2)×−3− (0 × − 2 − (− 2 )× 1 )1 × 4 − (− 4 )× − 3− (0 × 4 − (− 3 )× − 3 )0 × − 4 − (− 3 )× 1⎞⎠⎟
= ⎛⎝⎜4− 5− 25− 6− 2− 893⎞⎠⎟
然后,我们需要转置(翻转行和列)以获得:C TCCŤ
CŤ= ⎛⎝⎜45− 8− 5− 692− 23⎞⎠⎟
最后,我们可以找到逆为:
中号− 1= 1det (M)CŤ= 11个⎛⎝⎜45− 8− 5− 692− 23⎞⎠⎟= ⎛⎝⎜45− 8− 5− 692− 23⎞⎠⎟
因此输出将是4, -5, -2, 5, -6, -2, -8, 9, 3
。
规则
例子
Input > Output
1, 0, 0, 0, 1, 0, 0, 0, 1 > 1, 0, 0, 0, 1, 0, 0, 0, 1
0, -3, -2, 1, -4, -2, -3, 4, 1 > 4, -5, -2, 5, -6, -2, -8, 9, 3
1, 2, 3, 3, 1, 2, 2, 1, 3 > -1/6, 1/2, -1/6, 5/6, 1/2, -7/6, -1/6, -1/2, 5/6
7, 9, 4, 2, 7, 9, 3, 4, 5 > -1/94, -29/94, 53/94, 17/94, 23/94, -55/94, -13/94, -1/94, 31/94
获奖
以字节为单位的最短代码获胜。