gpt4 book ai didi

python - 在python中求小矩阵

转载 作者:太空宇宙 更新时间:2023-11-03 21:24:43 26 4
gpt4 key购买 nike

def getMatrixMinor(m,i,j):
return [row[:j] + row[j+1:] for row in (m[:i]+m[i+1:])]

上面是我在堆栈溢出中找到的代码,以便找到矩阵的逆,但是,我对Python确实很陌生。任何人都可以解释一下使用此代码构造次要矩阵的背后机制吗?

顺便说一句,我已经使用了这段代码并且它可以工作,但我只是不明白它是如何工作的。

最佳答案

让我们从 (i,j)th 的定义开始矩阵的次矩阵:

(i,j)th minor of a matrix of size n is a smaller matrix of size n-1 with the i'th row and j'th column deleted.

现在让我们看看这个 python oneliner:

[row for row in (m[:i] + m[i+1:])]

m[:i]给出第一个 im (请记住,我们将矩阵表示为行列表,并且在 python 中添加两个列表会返回一个更大的列表),现在让我们看看另一个行:

row[:j] + row[j+1:]

这为我们提供了一行中除 j'th 之外的所有元素元素(lst[a:b] 给出一个列表,其中包含 lstab 之间的元素,其中 b 除外)

将以上两者结合起来,您将得到一个返回 a new matrix with i'th row and j'th column excluded 的表达式。 :

def getMatrixMinor(m,i,j):
return [row[:j] + row[j+1:] for row in (m[:i]+m[i+1:])]

这是次矩阵。

关于python - 在python中求小矩阵,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53934405/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com