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

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

Description

Multiplies the two arrays.

License

Open Source License

Exception

Parameter Description
NullPointerException if either input or on of it's elements are null;

Declaration

public static double[][] multiply(double[][] a, double[][] b) 

Method Source Code

//package com.java2s;
/*//from   w w w  .j  a  v a2  s .  c o  m
 *  Copyright (C) 2013, Peter Decsi.
 * 
 *  This library is free software: you can redistribute it and/or
 *  modify it under the terms of the GNU Lesser General Public 
 *  License as published by the Free Software Foundation, either 
 *  version 3 of the License, or (at your option) any later version.
 * 
 *  This library is distributed in the hope that it will be useful,
 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 *  GNU Lesser General Public License for more details.
 * 
 *  You should have received a copy of the GNU General Public License
 *  along with this library.  If not, see <http://www.gnu.org/licenses/>.
 */

public class Main {
    /**
     * Multiplies the two arrays. The length of the returned array will be
     * equal to the length of the shorter input.
     * 
     * @throws NullPointerException if either input or on of it's elements are null;
     */
    public static double[][] multiply(double[][] a, double[][] b) {
        int size = Math.min(a.length, b.length);
        double[][] result = new double[size][];
        for (int i = 0; i < size; i++)
            result[i] = multiply(a[i], b[i]);
        return result;
    }

    /**
     * Multiplies the two vectors. The length of the returned vector will be
     * equal to the length of the shorter input.
     * 
     * @throws NullPointerException if `a` or `b` is null;
     */
    public static double[] multiply(double[] a, double[] b) {
        int size = Math.min(a.length, b.length);
        double[] result = new double[size];
        for (int i = 0; i < size; i++)
            result[i] = a[i] * b[i];
        return result;
    }
}

Related

  1. matrixMultiplyTwo(final double[][] first, final double[][] second)
  2. matrixMultiplyWithThreadOffset(double[] A, double[] Adiag, double[] B, int aHeight, int bWidth, int comm, int bz, int threadRowOffset, int rowOffset, double[] C)
  3. matrixScalarMultiplication(double[][] w, double v)
  4. multiply(boolean[][] m1, boolean[][] m2)
  5. multiply(boolean[][] matrix, boolean[] vector)
  6. multiply(double[][] a, double[][] x)
  7. multiply(double[][] dest, double[][] a, double[][] b)
  8. multiply(double[][] m, double[] x)
  9. multiply(double[][] m1, double[][] m2)