Formula:
| a11 a12 a13 | | b1 | | a11*b1 + a12*b2 + a13*b3 |
| a21 a22 a23 | x | b2 | = | a21*b1 + a22*b2 + a23*b3 |
| a31 a32 a33 | | b3 | | a31*b1 + a32*b2 + a33*b3 |
For arrays:
| a11 a12 a13 | | a[0][0] a[0][1] a[0][2] |
| a21 a22 a23 | = | a[1][0] a[1][1] a[1][2] |
| a31 a32 a33 | | a[2][0] a[2][1] a[2][2] |
| b1 | | b[0] |
| b2 | = | b[1] |
| b3 | | b[2] |
| c2 | = | a21 a22 a23 | x | b2 | = | a[1][0]*b[0] + a[1][1]*b[1] + a[1][2]*b[2] |
| c3 | | a31 a32 a33 | | b3 | | a[2][0]*b[0] + a[2][1]*b[1] + a[2][2]*b[2] |
Code:
c[0] = a[0][0]*b[0] + a[0][1]*b[1] + a[0][2]*b[2]
c[1] = a[1][0]*b[0] + a[1][1]*b[1] + a[1][2]*b[2]
c[2] = a[2][0]*b[0] + a[2][1]*b[1] + a[2][2]*b[2]
c[1] = a[1][0]*b[0] + a[1][1]*b[1] + a[1][2]*b[2]
c[2] = a[2][0]*b[0] + a[2][1]*b[1] + a[2][2]*b[2]