Mega Code Archive
Multiply two matrices
/**
* Multiply two matrices.
* Only defined for int: TODO: rewrite using 1.5 Generics to add
* support for long, float, and double.
* @author Ian F. Darwin, http://www.darwinsys.com/
* @version $Id: Matrix.java,v 1.4 2004/03/07 02:53:53 ian Exp $
*/
public class Matrix {
/* Matrix-multiply two arrays together.
* The arrays MUST be rectangular.
* @author Tom Christiansen & Nathan Torkington, Perl Cookbook version.
*/
public static int[][] multiply(int[][] m1, int[][] m2) {
int m1rows = m1.length;
int m1cols = m1[0].length;
int m2rows = m2.length;
int m2cols = m2[0].length;
if (m1cols != m2rows)
throw new IllegalArgumentException("matrices don't match: " + m1cols + " != " + m2rows);
int[][] result = new int[m1rows][m2cols];
// multiply
for (int i=0; i