src/main/java/com/osiris/maths/human/Matrix.java
/**
     * Multiplies this matrix with the provided matrix. <br>
     * Also called scalar matrix multiplication. <br>
     *
     * @return a new matrix containing the result.
     * @throws NotEqual if the provided matrix row count is not equal to the current matrix column count.
     */
Multiplies this matrix with the provided matrix. 
Also called scalar matrix multiplication.

@return a new matrix containing the result.
@throws NotEqual if the provided matrix row count is not equal to the current matrix column count.
Multiplies this matrix with the provided matrix . Also called scalar matrix multiplication . @return a new matrix containing the result . @throws NotEqual if the provided matrix row count is not equal to the current matrix column count .
public Matrix multiply(Matrix m) throws NotEqual {
        if (m.rowsCount != columnsCount)
            throw new NotEqual("PROVIDED matrix ROW count must be equal to THIS matrix COLUMN count. " + m.rowsCount + "!=" + columnsCount);
        Matrix newM = new Matrix(rowsCount, m.columnsCount);
        List<List<Double>> otherColumns = m.getColumns();
        for (int i = 0; i < rowsCount; i++) {
            List<Double> row = rows.get(i);
            List<Double> newRow = new ArrayList<>(otherColumns.size());
            newM.setRow(i, newRow);
            for (List<Double> otherColumn : otherColumns) {
                double result = 0.0;
                for (int k = 0; k < row.size(); k++) {
                    result += row.get(k) * otherColumn.get(k);
                }
                newRow.add(result);
            }
        }
        return newM;
    }
public Matrix multiply ( Matrix m ) throws NotEqual { if ( m . rowsCount != columnsCount ) throw new NotEqual ( "PROVIDED matrix ROW count must be equal to THIS matrix COLUMN count. " + m . rowsCount + "!=" + columnsCount ) ; Matrix newM = new Matrix ( rowsCount , m . columnsCount ) ; List < List < Double > > otherColumns = m . getColumns ( ) ; for ( int i = 0 ; i < rowsCount ; i ++ ) { List < Double > row = rows . get ( i ) ; List < Double > newRow = new ArrayList < > ( otherColumns . size ( ) ) ; newM . setRow ( i , newRow ) ; for ( List < Double > otherColumn : otherColumns ) { double result = 0.0 ; for ( int k = 0 ; k < row . size ( ) ; k ++ ) { result += row . get ( k ) * otherColumn . get ( k ) ; } newRow . add ( result ) ; } } return newM ; }
Multiplies this matrix with the provided matrix.
Multiplies this matrix with the provided matrix .