Menu
Coddy logo textTech

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:

12
34
56

Matris B:

78910
11121314

Sonuç:

1*7 + 2*111*8 + 2*121*9 + 2*131*10 + 2*14
3*7 + 4*113*8 + 4*123*9 + 4*133*10 + 4*14
5*7 + 6*115*8 + 6*125*9 + 6*135*10 + 6*14

Ve hesaplamadan sonra:

29323538
65727986
101112123134

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]])
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

challenge icon

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