1.10 Matriisikertolasku

Tee metodi, joka tekee parametrina saataville int[][] -matriiseille (2-ulotteisille arrayille) matriisikertolaskuoperaation. Jos operaatio ei ole mahdollinen, niin metodin tulee heittää sopiva keskeytys.

Lisäksi tarvitaan koodi, jolla metodin toiminta voidaan testata.

Matriisikertolasku määritellään seuraavasti:


    C   =   A   *   B
  p x q   p x n   n x q

  missä
            n 
  C(j,k) = SUM ( A(j,i) B(i,k) )  ; j = 1,...,p ; k = 1,...,q.
           i=1

  eli esim. jos

                                  (  0  5  -3  )
  A = (  1  2  3  )     ja    B = (  4 -1  -1  )
      (  4  5  6  )               ( -4 -3   3  )


  niin  A * B = (  1*0 + 2*4 + 3*(-4) == -4    1*5 + 2*(-1) + 3*(-3) == -6     1*(-3) + 2*(-1) + 3*3 == 4  )
                (  4*0 + 5*4 + 6*(-4) == -4    4*5 + 5*(-1) + 6*(-3) == -3     4*(-3) + 5*(-1) + 6*3 == 1  )

              = ( -4 -6  4  )
                ( -4 -3  1  )