public final void premultiply(Matrix matrix) {
		entry2[3][0] = entry[3][1] = entry[3][2] = 0.0;
		entry2[3][3] = 1.0;

		for (int i = 0; i < 3; i++)
			for (int j = 0; j < 4; j++) {
				entry2[i][j] = 0.0;
				for (int k = 0; k < 4; k++)
					entry2[i][j] += matrix.entry[i][k] * entry[k][j];
			}
		// Swap!
		double[][] oldentry = entry;
		entry = entry2;
		entry2 = oldentry;
	}