numpy逆 python_Python中无Numpy的逆矩阵

我尝试在矩阵2x2和矩阵3x3中使用这种方法,但我希望使用一些循环,比如用于或而。在from libmatrice import det2, det3, comatrice, transposee, inverse

reponse = input('Quelle est la dimension de la matrice à inverser (2 ou 3) ?\n')

determinant = 0

if reponse == '2':

print('''Votre matrice est de dimension 2 (2 lignes et 2 colonnes)''')

A11 = int(input('''Quel est votre premier chiffre ?\n'''))

A12 = int(input('''Quel est votre deuxième chiffre ?\n'''))

A21 = int(input('''Quel est votre troisième chiffre ?\n'''))

A22 = int(input('''Quel est votre quatrième chiffre ?\n'''))

determinant = det2(A11, A12, A21, A22)

print('''Le déterminant de votre matrice 2x2 est : ''', determinant)

elif reponse == '3':

print('''Votre matrice est de dimension 3 (3 lignes et 3 colonnes)''')

A11 = int(input('''Quel est votre premier chiffre ?\n'''))

A12 = int(input('''Quel est votre deuxième chiffre ?\n'''))

A13 = int(input('''Quel est votre troisème chiffre ?\n'''))

A21 = int(input('''Quel est votre quatrième chiffre ?\n'''))

A22 = int(input('''Quel est votre cinquième chiffre ?\n'''))

A23 = int(input('''Quel est votre sixième chiffre ?\n'''))

A31 = int(input('''Quel est votre septième chiffre ?\n'''))

A32 = int(input('''Quel est votre huitième chiffre ?\n'''))

A33 = int(input('''Quel est votre neuvième chiffre ?\n'''))

determinant = det3(A11, A12, A13, A21, A22, A23, A31, A32, A33)

打印(行列式)

^{pr2}$

我也使用了一个库,但因为我不使用循环,所以我不需要def reduit(matrix)def det2(A11, A12, A21, A22):

diagonale_1 = A11*A22

diagonale_2 = A12*A21

resultat = diagonale_1 - diagonale_2

return resultat

def det3(A11, A12, A13, A21, A22, A23, A31, A32, A33):

#pour A11:

diagonale_A11_1 = A22 * A33

diagonale_A11_2 = A32 * A23

resultat_A11 = diagonale_A11_1 - diagonale_A11_2

#pour A12:

diagonale_A12_1 = A21 * A33

diagonale_A12_2 = A31 * A23

resultat_A12 = diagonale_A12_1 - diagonale_A12_2

#pour A13:

diagonale_A13_1 = A21 * A32

diagonale_A13_2 = A31 * A22

resultat_A13 = diagonale_A13_1 - diagonale_A13_2

#resultat final:

resultat_final = A11 * resultat_A11 - A12 * resultat_A12 + A13 * resultat_A13

return resultat_final

def reduit(matrice):

pass

def comatrice(A11, A12, A13, A21, A22, A23, A31, A32, A33):

detA11 = A22 * A33 - A32 * A23

detA12 = -(A21 * A33 - A31 * A23)

detA13 = A21 * A32 - A31 * A22

detA21 = -(A12 * A33 - A32 * A13)

detA22 = A11 * A33 - A31 * A13

detA23 = -(A11 * A32 - A31 * A12)

detA31 = A12 * A23 - A22 * A13

detA32 = -(A11 * A23 - A21 * A13)

detA33 = A11 * A22 - A21 * A12

return detA11, detA12, detA13, detA21, detA22, detA23, detA31, detA32, detA33

def transposee(detA11, detA12, detA13, detA21, detA22, detA23, detA31, detA32, detA33):

TA11 = detA11

TA21 = detA12

TA31 = detA13

TA12 = detA21

TA22 = detA22

TA32 = detA23

TA13 = detA31

TA23 = detA32

TA33 = detA33

return TA11, TA21, TA31, TA12, TA22, TA32, TA13, TA23, TA33

def inverse(det, TA11, TA12, TA13, TA21, TA22, TA23, TA31, TA32, TA33):

invTA11 = TA11 // det

invTA21 = TA21 // det

invTA31 = TA31 // det

invTA12 = TA12 // det

invTA22 = TA22 // det

invTA32 = TA32 // det

invTA13 = TA13 // det

invTA23 = TA23 // det

invTA33 = TA33 // det

return invTA11, invTA12, invTA13, invTA21, invTA22, invTA23, invTA31, invTA32, invTA33

你有什么想法让我的代码更“干净”,以便在我的第二个代码中集成一些循环?

第一个代码块被称为矩阵.pywitch是python中的程序询问它是2x2维还是3x3维的接口。在

libmatrice是从导入的libmatrice.py文件在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值