code: public void mul(IMatrix b, IMatrix result) {
          if ((b == null) || (columns != b.rows)) return;
  
          if ((result.rows != rows) || (result.columns != b.columns)) result.reshape(rows, b.columns);
          int i, j, k;
          double realsum, imagsum;
          for (i = 0; i < rows; i++)
              for (k = 0; k < b.columns; k++) {
                  realsum = 0;
                  imagsum = 0;
                  for (j = 0; j < columns; j++) {
                      realsum += realmatrix[i][j] * b.realmatrix[j][k] - imagmatrix[i][j] * b.imagmatrix[j][k];
                      imagsum += realmatrix[i][j] * b.imagmatrix[j][k] + imagmatrix[i][j] * b.realmatrix[j][k];
                  }
                  result.realmatrix[i][k] = realsum;
                  result.imagmatrix[i][k] = imagsum;
              }
      }
docs: Multiplikation from two matrices