Lecture Notes on 24 Jul 2013 public class Array { public static int[][] matrixMultiply (int[][] a, int[][] b) { int[][] c = new int [a.length][b[0].length]; for (int i = 0; i < a.length; i++) { for (int j = 0; j < b[0].length; j++) { int sum = 0; for (int k = 0; k < a[0].length; k++) { sum += a[i][k] * b[k][j]; } c[i][j] = sum; } } return c; } public static int[][] transpose (int[][] a) { int[][]b = new int [a[0].length][a.length]; for (int i = 0; i < a.length; i++) { for (int j = 0; j < a[i].length; j++) { b[j][i] = a[i][j]; } } return b; } public static int[][] copy2D (int[][] a) { int[][] b = new int [a.length][a[0].length]; for (int i = 0; i < a.length; i++) { for (int j = 0; j < a[i].length; j++) { b[i][j] = a[i][j]; } } return b; } public static int sum2D (int[][] a) { int sum = 0; for (int i = 0; i < a.length; i++) { for (int j = 0; j < a[i].length; j++) { sum += a[i][j]; } } return sum; } public static void main (String[] args) { } }