/** * <p>Performs the following operation:<br> * <br> * c = α * a * b <br> * <br> * c<sub>ij</sub> = α ∑<sub>k=1:n</sub> { * a<sub>ik</sub> * b<sub>kj</sub>} * </p> * * @param realAlpha real component of scaling factor. * @param imgAlpha imaginary component of scaling factor. * @param a The left matrix in the multiplication operation. Not modified. * @param b The right matrix in the multiplication operation. Not modified. * @param c Where the results of the operation are stored. Modified. */ public static void mult(double realAlpha, double imgAlpha, ZMatrixRMaj a, ZMatrixRMaj b, ZMatrixRMaj c) { if (b.numCols >= EjmlParameters.CMULT_COLUMN_SWITCH) { MatrixMatrixMult_ZDRM.mult_reorder(realAlpha, imgAlpha, a, b, c); } else { MatrixMatrixMult_ZDRM.mult_small(realAlpha, imgAlpha, a, b, c); } }
/** * <p>Performs the following operation:<br> * <br> * c = a * b <br> * <br> * c<sub>ij</sub> = ∑<sub>k=1:n</sub> { * a<sub>ik</sub> * b<sub>kj</sub>} * </p> * * @param a The left matrix in the multiplication operation. Not modified. * @param b The right matrix in the multiplication operation. Not modified. * @param c Where the results of the operation are stored. Modified. */ public static void mult(ZMatrixRMaj a, ZMatrixRMaj b, ZMatrixRMaj c) { if (b.numCols >= EjmlParameters.CMULT_COLUMN_SWITCH) { MatrixMatrixMult_ZDRM.mult_reorder(a, b, c); } else { MatrixMatrixMult_ZDRM.mult_small(a, b, c); } }