เป็นอัลกอริธึมการคูณเมทริกซ์ที่มีพื้นฐานมาจาก แบ่งและพิชิต กระบวนการ. ใช้เพื่อคูณเมทริกซ์ที่มีขนาดเท่ากันสองเมทริกซ์
การหาการคูณของเมทริกซ์สองตัว−
อัลกอริธึมของstraßen ลดค่าใช้จ่ายในการคูณด้วยการทำให้การคูณง่ายขึ้น
นี่คือการคูณโดยใช้อัลกอริธึมของ strassen:
M1 =a*(f - h)
M2 =(a + b)*h
M3 =(c + d)*e
M4 =d*(g - e)
M5 =(a + d)*(e + h)
M6 =(b - d)*(g + h)
M7 =(a - c)*(e + f)
สามารถจดจำได้ง่ายและสามารถถอดรหัสรหัสอัลกอริธึมได้ สำหรับสิ่งนี้ เรามีกฎสองสามข้อ ก่อนอื่นให้จำ 6 สิ่งนี้−
- ใช้ AHED สำหรับ 4 ค่าแรกของ M.
- ใช้ การคูณแนวทแยง สำหรับค่าที่ 5 ของ M.
- ใช้ CR สุดท้าย (col สุดท้ายจาก mat 1 และแถวสุดท้ายจาก mat 2) สำหรับค่าที่ 6 ของ M
- ใช้ CR แรก (col แรกจาก mat 1 และแถวแรกจาก mat 2) สำหรับค่าที่ 7 ของ M
- ในขณะที่พิจารณาองค์ประกอบของแถวให้เพิ่มและในกรณีที่คอลัมน์ลบออก
- ค่าอัปเดตหลังจากนั้นโดยใช้ค่าที่อยู่ติดกัน
โดยใช้วิธีเหล่านี้ทำให้เราจำค่าต่างๆ ได้ง่าย