Java Matrix Multiply multiplyMatrixByMatrix(double[][] a, double[][] b)

Here you can find the source of multiplyMatrixByMatrix(double[][] a, double[][] b)

Description

multiply Matrix By Matrix

License

Apache License

Declaration

public static double[][] multiplyMatrixByMatrix(double[][] a, double[][] b) throws IllegalArgumentException 

Method Source Code

//package com.java2s;
/*******************************************************************************
 * Copyright 2010 Simon Mieth//from w  ww.  j a v a 2s.c o  m
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 ******************************************************************************/

public class Main {
    public static double[][] multiplyMatrixByMatrix(double[][] a, double[][] b) throws IllegalArgumentException {
        if (a[0].length != b.length) {
            throw new IllegalArgumentException("Cannot multiply a with b, columns of a != rows of b. ");
        }

        double[][] c = new double[a.length][b[0].length];

        for (int i = 0; i < a.length; i++) {
            for (int x = 0; x < b.length; x++) {
                for (int y = 0; y < a[i].length; y++) {
                    c[i][x] += (a[i][y] * b[y][x]);
                }
            }
        }

        return c;
    }
}

Related

  1. multiplyAffine(final double[][] A, final double[][] B, final double[][] dest, int n)
  2. multiplyMatrices(double[][] a, double[][] b)
  3. multiplyMatrices(float[][] left, float[][] right)
  4. multiplyMatrices(int[][] mat1, int[][] mat2)
  5. multiplyMatrix(int[][] a, int[] b, int mod)
  6. multiplyMatrixes(double[][] m1, double[][] m2)
  7. multiplyQuad(final double[][] A, final double[][] B, final double[][] dest, int n)
  8. multiplyScalars(float[][] x, float[][] y)
  9. multiplyScalars_optimizedByKnowingBothAreRectangle(float[][] x, float[][] y)