辅因子矩阵是Adjugate矩阵的转置。该矩阵的元素是原始矩阵的辅因子。
辅因子(即第i行和第j列的辅因子矩阵的元素)是通过从原始矩阵中删除第i列和第j列乘以(-1)^(i + j)形成的子矩阵的行列式。
例如,对于矩阵
第1行和第2列的辅助因子矩阵的元素为:
您可以在此处找到有关矩阵行列式是什么以及如何计算它们的信息。
挑战
您的目标是输出输入矩阵的辅因子矩阵。
注意:允许使用用于评估辅因子矩阵,辅助矩阵,行列式或类似物的内置函数。
输入值
可以以STDIN
最适合您使用的语言的方式或以任何方式将矩阵作为命令行参数,函数参数输入。
矩阵将被格式化为列表列表,每个子列表对应于一行,其中包含从左到右排序的因子。行在列表中从上到下排序。
例如矩阵
a b
c d
将以表示[[a,b],[c,d]]
。
如果适合您的语言并且明智(例如((a;b);(c;d))
),则可以用其他方式替换方括号和逗号。
矩阵将仅包含整数(可以为负数)。
矩阵将始终为正方形(即行和列的数量相同)。
您可以假设输入将始终是正确的(即,没有格式问题,除整数外没有其他问题,没有空矩阵)。
输出量
所得的辅助因子矩阵可以输出到 STDOUT
函数,从函数返回,写入文件或任何自然适合您使用的语言的东西。
辅助因子矩阵的格式必须与输入矩阵的给出完全相同,例如[[d,-c],[-b,a]]
。如果读取字符串,则必须返回/输出一个字符串,在该字符串中,矩阵的格式应与输入中的格式完全相同。如果您使用诸如列表列表之类的内容作为输入,那么您也必须返回列表列表。
测试用例
- 输入:
[[1]]
输出: [[1]]
- 输入:
[[1,2],[3,4]]
输出: [[4,-3],[-2,1]]
- 输入:
[[-3,2,-5],[-1,0,-2],[3,-4,1]]
输出: [[-8,-5,4],[18,12,-6],[-4,-1,2]]
- 输入:
[[3,-2,7,5,0],[1,-1,42,12,-10],[7,7,7,7,7],[1,2,3,4,5],[-3,14,-1,5,-9]]
输出:
[[9044,-13580,-9709,23982,-9737],[-1981,1330,3689,-3444,406],[14727,7113,2715,-9792,414],[-28448,-2674,-707,16989,14840],[-2149,2569,-2380,5649,-3689]]
计分
这是代码高尔夫球,因此最短的答案以字节为单位。