Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

การหาผลคูณโครเนคเกอร์ของอาร์เรย์ 1 มิติ สองชุดใน Python


ภาพรวม

ใช้ฟังก์ชัน numpy.kron() เพื่อหาผลคูณโครเนคเกอร์ (Kronecker product) ของอาร์เรย์ 1 มิติ สองชุด ผลลัพธ์เป็นอาร์เรย์รวมที่ประกอบด้วยบล็อกของอาร์เรย์ที่สองซึ่งถูกปรับขนาดด้วยอาร์เรย์แรก

คุณสมบัติ

  • สมมติว่าจำนวนมิติของ a และ b เท่ากัน หากไม่ใช่ จะเติม 1 ไปด้านหน้า
  • รูปร่างผลลัพธ์: (r0*s0, r1*s1, ..., rN*sN)
  • องค์ประกอบ: kron(a,b)[k0,k1,...,kN] = a[i0,i1,...,iN] * b[j0,j1,...,jN]

ขั้นตอนการทำงาน

  1. นำเข้าไลบรารี
    import numpy as np
    
  2. สร้างอาร์เรย์ 1 มิติ สองชุด
    arr1 = np.array([1, 10, 100])
    arr2 = np.array([5, 6, 7])
    
  3. ตรวจสอบคุณสมบัติอาร์เรย์
    print("อาร์เรย์ 1...\n", arr1)
    print("\nอาร์เรย์ 2...\n", arr2)
    print("\nมิติอาร์เรย์ 1...\n", arr1.ndim)
    print("\nมิติอาร์เรย์ 2...\n", arr2.ndim)
    print("\nรูปร่างอาร์เรย์ 1...\n", arr1.shape)
    print("\nรูปร่างอาร์เรย์ 2...\n", arr2.shape)
    
  4. คำนวณผลคูณโครเนคเกอร์
    print("\nผลลัพธ์ (Kronecker product)...\n", np.kron(arr1, arr2))
    

ตัวอย่างโค้ดสมบูรณ์

import numpy as np

arr1 = np.array([1, 10, 100])
arr2 = np.array([5, 6, 7])

print("อาร์เรย์ 1...\n", arr1)
print("\nอาร์เรย์ 2...\n", arr2)
print("\nมิติของอาร์เรย์ 1...\n", arr1.ndim)
print("\nมิติของอาร์เรย์ 2...\n", arr2.ndim)
print("\nรูปร่างของอาร์เรย์ 1...\n", arr1.shape)
print("\nรูปร่างของอาร์เรย์ 2...\n", arr2.shape)

print("\nผลลัพธ์ (Kronecker product)...\n", np.kron(arr1, arr2))

ผลลัพธ์ที่คาดหวัง

อาร์เรย์ 1...
 [ 1 10 100]
อาร์เรย์ 2...
 [5 6 7]
มิติของอาร์เรย์ 1...
 1
มิติของอาร์เรย์ 2...
 1
รูปร่างของอาร์เรย์ 1...
 (3,)
รูปร่างของอาร์เรย์ 2...
 (3,)
ผลลัพธ์ (Kronecker product)...
 [  5   6   7  50  60  70 500 600 700]