我必须编写一个算法来找到矩阵的行列式,这是用递归函数完成的:
哪里A_ij
是矩阵,当你删除第i
th 行和第j
th 列时出现A
。当A
有维度n x n
时,则维度A_ij
为(n-1) x (n-1)
。我不允许使用Minor[]
or Det[]
。
这个算法怎么写?
这是我到目前为止的代码:
det1[Mi_ /; Dimensions[Mi][[1]] == Dimensions[Mi][[2]]] :=
Module[{det1},
det1 = Sum[
If[det1 == 1, Break[], (-1)^(1 + j) *Mi[[1, j]]*det1[Drop[Mi, {1}, {j}]]],
{j, 1, Length[Mi]}];
Return[det1 // MatrixForm, Module]
]