logo

Python'da numpy.dot()

Python'un numpy modülü, iki dizinin nokta çarpımını gerçekleştirecek bir işlev sağlar.

  • 'a' ve 'b' dizilerinin her ikisi de 1 boyutlu dizilerse, dot() işlevi vektörlerin iç çarpımını gerçekleştirir (karmaşık eşlenik olmadan).
  • 'a' ve 'b' dizilerinin her ikisi de 2 boyutlu dizilerse, dot() işlevi matris çarpımını gerçekleştirir. Ancak matris çarpımı kullanımı için mat veya 'a' @ 'b' tercih edilir.
  • 'a' veya 'b' 0 boyutlu (skaler) ise dot() işlevi çarpma işlemini gerçekleştirir. Ayrıca kullanımı numpy.multiply(a, b) veya a *b yöntem tercih edilmektedir.
  • 'a' N boyutlu bir diziyse ve 'b' 1 boyutlu bir diziyse, dot() işlevi a ve b'nin son ekseni üzerinden toplam çarpımı gerçekleştirir.
  • 'a' M boyutlu bir diziyse ve 'b' N boyutlu bir diziyse (burada N>=2), dot() işlevi 'a'nın son ekseni ile ikinci ekseni üzerinde toplam çarpımı gerçekleştirir. 'b'nin son eksenine:
 dot(a, b)[i,j,k,n] = sum(a[i,j,:] * b[k,:,n]) 

Sözdizimi

 numpy.dot(a, b, out=None) 

Parametreler

a: dizi_benzeri

Bu parametre ilk diziyi tanımlar.

b: dizi_benzeri

Java dizesi ekleme

Bu parametre ikinci diziyi tanımlar.

çıkış: ndarray (isteğe bağlı)

Bu bir çıktı argümanıdır. Kullanılmadığı takdirde iade edilecek türden olmalıdır. Özellikle performans özelliğini karşılamalı, yani doğru tipi içermeli, yani C-bitişik olmalı ve dtype, dot(a,b) için döndürülecek dtype olmalıdır. Dolayısıyla, belirtilen bu koşulları karşılamıyorsa istisna oluşturur.

normal formlar

İadeler

Bu fonksiyon 'a' ve 'b'nin nokta çarpımını döndürür. Bu işlev, 'a' ve 'b'nin her ikisinin de skaler veya 1 boyutlu olması durumunda bir skaler döndürür; aksi halde bir dizi döndürür. 'Out' verilirse iade edilir.

Yükseltir

Değer Hatası 'a'nın son boyutu 'b'nin sondan ikinci boyutuyla aynı boyuta sahip olmadığında ortaya çıkar.

Örnek 1:

 import numpy as np a=np.dot(6,12) a 

Çıktı:

 72 

Örnek 2:

 import numpy as np a=np.dot([2j, 3j], [5j, 8j]) a 

Çıktı:

 (-34+0j) 

Örnek 3:

 import numpy as np a = [[1, 2], [4, 1]] b = [[4, 11], [2, 3]] c=np.dot(a, b) c 

Çıktı:

int'yi Java dizesine dönüştür
 array([[ 8, 17], [18, 47]]) 

Yukarıdaki kodda

  • Numpy'yi np takma adıyla içe aktardık.
  • İki adet 2 boyutlu dizi oluşturduk ' A ' Ve ' B '.
  • ' değişkenini bildirdik C ' ve döndürülen değeri atadı np.dot() işlev.
  • Son olarak ' değerini yazdırmaya çalıştık. C '.

Çıktıda matris çarpımını bir dizi olarak gösterir.

Örnek 4:

 import numpy as np x = np.arange(3*4*5*6).reshape((3,4,5,6)) y = np.arange(3*4*5*6)[::-1].reshape((5,4,6,3)) p=np.dot(a, b)[2,3,2,1,2,2] q=sum(a[2,3,2,:] * b[1,2,:,2]) p q 

Çıktı:

 499128 499128 

Yukarıdaki kodda

java ve c++
  • Numpy'yi np takma adıyla içe aktardık.
  • İki dizi oluşturduk' A ' Ve ' B ' kullanarak np.arange() reshape() işlevini kullanarak her iki dizinin şeklini değiştirin.
  • ' değişkenini bildirdik C ' ve döndürülen değeri atadı np.dot() işlev
  • Son olarak ' yazdırmayı denedik C ' değer.

Çıktıda matris çarpımını bir dizi olarak gösterir.