public class Matrix {
private static int[][] multiply(int[][] a, int[][] b) {
if (a[0].length != b.length) {
throw new IllegalArgumentException(
"A(" + a.length + "x" + a[0].length + ") did not match " +
"B(" + b.length + "x" + b[0].length + ")");
}
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++) {
for (int k = 0; k < a[0].length; k++) {
c[i][j] += a[i][k] * b[k][j];
}
}
}
return c;
}
private static void print(int[][] a) {
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[i].length; j++) {
if (a[i][j] < 10) {
System.out.print(" ");
}
System.out.print(a[i][j] + " ");
}
System.out.println();
}
}
public static void main(String[] args) {
int[][] a = new int[2][3];
int value = 1;
for (int i = 0; i < a.length; i++) {
for (int j = 0; j < a[i].length; j++) {
a[i][j] = value++;
}
}
System.out.println("Matrix A:");
print(a);
int[][] b = new int[3][2];
value = 1;
for (int i = 0; i < b.length; i++) {
for (int j = 0; j < b[i].length; j++) {
b[i][j] = value++;
}
}
System.out.println("Matrix B:");
print(b);
int[][] c = multiply(a, b);
System.out.println("Matrix C:");
print(c);
}
}
Tuesday, December 11, 2012
How to Implement Matrix Multiplication
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment