code: public void mul(IVector a, IVector result) {
          if ((a == null) || (columns != a.size)) return;
  
          if (result.size != rows) result.reshape(rows);
  
          int i, j;
          double realsum, imagsum;
          for (i = 0; i < rows; i++) {
              realsum = 0;
              imagsum = 0;
              for (j = 0; j < columns; j++) {
                  realsum += realmatrix[i][j] * a.realvector[j] - imagmatrix[i][j] * a.imagvector[j];
                  imagsum += realmatrix[i][j] * a.imagvector[j] + imagmatrix[i][j] * a.realvector[j];
              }
              result.realvector[i] = realsum;
              result.imagvector[i] = imagsum;
          }
      }
docs: Multiplikation from a vector and a matrix