class MatrixMultiplyWithTransposedSecondOperand extends AbstractVariable<Matrix> {

    private Matrix multiply(Tensor<?> t1, Tensor<?> t2) {
        DMatrixRMaj m1 = DMatrixRMaj.wrap(t1.dimension(ROWS_INDEX), t1.dimension(COLUMNS_INDEX), t1.data());
        DMatrixRMaj m2 = DMatrixRMaj.wrap(t2.dimension(ROWS_INDEX), t2.dimension(COLUMNS_INDEX), t2.data());
        DMatrixRMaj prod = new DMatrixRMaj(m1.numRows, m2.numCols);
        MatrixMatrixMult_DDRM.mult_reorder(m1, m2, prod);
        return new Matrix(prod.getData(), prod.numRows, prod.numCols);
    }

    public  MatrixMultiplyWithTransposedSecondOperand(Variable<Matrix> A, Variable<Matrix> B);

}