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

การคูณสเกลาร์ (scalar multiplication) ด้วย Einstein summation convention ใน Python


ภาพรวม

ใช้ numpy.einsum() เพื่อทำการคูณสเกลาร์กับอาร์เรย์ ตาม Einstein summation convention โดยใช้ subscript '..., ...'

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

  1. นำเข้าไลบรารี
    import numpy as np
    
  2. สร้างอาร์เรย์และสเกลาร์
    arr = np.arange(6).reshape(2, 3)
    val = 2
    
  3. ตรวจสอบคุณสมบัติอาร์เรย์
    print("อาร์เรย์...\n", arr)
    print("\nชนิดข้อมูล...\n", arr.dtype)
    print("\nมิติ...\n", arr.ndim)
    print("\nรูปร่าง...\n", arr.shape)
    
  4. คูณสเกลาร์
    print("\nผลลัพธ์ (scalar multiplication)...\n", np.einsum('..., ...', val, arr))
    

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

import numpy as np

arr = np.arange(6).reshape(2, 3)
val = 2

print("อาร์เรย์...\n", arr)
print("\nชนิดข้อมูลของอาร์เรย์...\n", arr.dtype)
print("\nมิติของอาร์เรย์...\n", arr.ndim)
print("\nรูปร่างของอาร์เรย์...\n", arr.shape)

print("\nผลลัพธ์ (scalar multiplication)...\n", np.einsum('..., ...', val, arr))

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

อาร์เรย์...
 [[0 1 2]
 [3 4 5]]
ชนิดข้อมูลของอาร์เรย์...
 int64
มิติของอาร์เรย์...
 2
รูปร่างของอาร์เรย์...
 (2, 3)
ผลลัพธ์ (scalar multiplication)...
 [[ 0  2  4]
 [ 6  8 10]]