Python matris tersi numpy kullanılmadan nasıl yapılır

Matris_1 =[ [1, 2] , [3, 4] ] listesi aşağıdaki matrisi temsil etsin

Matris_1=[1 2]
[3 4]

Bu matrisinin tersini hesaplayıp bunu da bir listeye atayınız. (Listenin içindeki birinci liste 1. satıra, ikinci liste ikinci satıra karşılık gelecek şekilde). Bu işlemleri gerçekleştirirken append(), count vs gibi hiçbir liste komutu veya metodu kullanılmayacaktır . Aynı şekilde numpy vs gibi hiçbir hazır kütüphane kullanılmayacaktır .

def transpose(x: list):
    return [[x[i][j] for i in range(len(x))] for j in range(len(x[0]))]
   

matris = [[1, 2], [3, 4]]
for i in transpose(matris):
    print(i)

Sonuç:

[1, 3]
[2, 4]

Bu da öz yineleme kullanılmış transpose fonksiyonu:

def transpose(x: list):
    return x and [
        [i[0] for i in x], 
        *transpose(list(filter(len, [i[1:] for i in x])))
    ]

Not: Recursion örneğinin orijinal hali şu adreste yer alıyor: https://stackoverflow.com/a/52885203/8016168

>>> transpose = lambda matris: list(zip(*matris))
>>> transpose([[1, 2], [3, 4]])
[(1, 3), (2, 4)]
1 Beğeni

Aşağıdaki gibi bir 2x2 matrisin tersini (varsa) biliyorsunuz değil mi?

 _         _
|  a    b  |
|          |
|_ c    d _| 

O zaman boşlukları doldurun:

# Yukarıdaki gösterime tekabül eden elemanları elde edin
(a, b), (c, d) = matris

# Determinantı hesaplayın
det = ...

# Buraya bir "if" lazım sanki?
...

# Ters matrisin elemanlarını hesaplayın
yeni_a = ...
yeni_b = ...
yeni_c = ...
yeni_d = ...

# Yeni matrisi oluşturun
ters_matris = [...]

Fonksiyon yazmayı/kullanmayı biliyorsanız bunu bir fonksiyona dönüştürebilirsiniz.

2 Beğeni