Matris Çarpımları
Coddy'nin Numpy Temelleri kursunda ders 18 / 18.
Matris çarpımı, yeni bir matris oluşturan bir dizi nokta çarpımıdır (dot product).
Nasıl çalışır?
Şekli (3, 2) olan bir A matrisimiz ve şekli (2, 4) olan bir B matrisimiz olduğunu varsayalım.
A ve B matrislerinin çarpımı, (3, 4) şeklinde yeni bir matris verecektir.
Matrislerin iç boyutları eşleşmelidir (bu durumda hem A hem de B 2'ye sahiptir -> (3,2)(2,4)=(3,4))
A*b çarpımı şöyledir:
- A'nın 1. Satırı ile B'nin 1. Sütununun nokta çarpımı, [1, 1] konumundaki elemanın sonucudur
- A'nın 1. Satırı ile B'nin 2. Sütununun nokta çarpımı, [1, 2] konumundaki elemanın sonucudur
- ...
- ...
- A'nın 2. Satırı ile B'nin 1. Sütununun nokta çarpımı, [2, 1] konumundaki elemanın sonucudur
- A'nın 2. Satırı ile B'nin 2. Sütununun nokta çarpımı, [2, 2] konumundaki elemanın sonucudur
- ...
- ...
- vb.
Örnek:
Matris A:
| 1 | 2 |
| 3 | 4 |
| 5 | 6 |
Matris B:
| 7 | 8 | 9 | 10 |
| 11 | 12 | 13 | 14 |
Sonuç:
| 1*7 + 2*11 | 1*8 + 2*12 | 1*9 + 2*13 | 1*10 + 2*14 |
| 3*7 + 4*11 | 3*8 + 4*12 | 3*9 + 4*13 | 3*10 + 4*14 |
| 5*7 + 6*11 | 5*8 + 6*12 | 5*9 + 6*13 | 5*10 + 6*14 |
Ve hesaplamadan sonra:
| 29 | 32 | 35 | 38 |
| 65 | 72 | 79 | 86 |
| 101 | 112 | 123 | 134 |
Numpy'da nasıl yapılır?
Matrisleri çarpmak için 3 yol vardır:
np.matmul(matrix1, matrix2)matrix1.dot(matrix2)A @ B
import numpy as np
A = np.array([[1, 2], [3, 4], [5, 6]])
B = np.array([[7, 8, 9, 10], [11, 12, 13, 14]])
np.matmul(A,B)Çıktı:
array([[ 29, 32, 35, 38],
[ 65, 72, 79, 86],
[101, 112, 123, 134]])Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.
Görev
Üç Python listesi alan, ilk iki listenin matris çarpımını hesaplayan ve sonucun son liste ile nokta çarpımını (dot product) döndüren matrix_master adında bir fonksiyon oluşturun.
Kendin dene
import numpy as np
def matrix_master(lst1, lst2, lst3):
# complete
Numpy Temelleri bölümündeki tüm dersler
2N-Boyutlu Dizi Oluşturma
Yüksek BoyutŞekilleri AnlamakSabit Değerlerle DoldurmaNumpy TipleriAralıkYeniden Şekillendirme