در این پست به یادآوری چگونگی ضرب دو ماتریس میپردازیم. به این دلیل که ماتریس ها در برنامه نویسی بسیار پرکاربرد هستند و ضرب دو ماتریس میتواند در برخی از برنامه ها مورد نیاز باشد. در این پست تئوری ضرب دو ماتریس را یادآوری می کنیم و در پست های بعدی نوشتن برنامه ی برای ضرب دو ماتریس را بررسی می کنیم.

برای اینکه ضرب دو ماتریس در یکدیگر امکان پذیر باشد بایستی تعداد ستون های ماتریس اول با تعداد سطر های ماتریس دوم، برابر باشد. پس اگر ماتریس اول یک ماتریس m*n و ماتریس دوم یک ماتریس a*b باشد، ضرب این دو ماتریس به شرطی امکان پذیر است که b == m . حاصلضرب این دو ماتریس، ماتریسی با a ردیف و n ستون یا به عبارت دیگر a*n خواهد بود. برای مثال یک ماتریس 4*3 با یک ماتریس 3*5 قایل ضرب خواهد بود و نتیجه آن یک ماتریس 4*5 خواهد بود. شکل زیر این دو ماتریس و ماتریس حاصلضرب را نشان می دهد.


انجام ضرب :

مقدار هر خانه یا "درایه" از ماتریس حاصل ضرب برابر خواهد بود از مجموع حاصلضرب درایه های سطر متناظر از ماتریس اول و ستون متناظر از ستون دوم. برای مثال برای به دست آوردن درایه اول ماتریس حاصلضرب، تک تک درایه های سطر اول از ماتریس اول را (به طور متناظر) در درایه های ستون اول از ماتریس دوم ضرب کرده و مقدار انها را با یکدیگر جمع می کنیم. به این ترتیب تک تک خانه های ماتریس حاصل ضرب را به دست می آوریم. شکل زیر چگونگی انجام این ضرب را بهتر نشان می دهد.