docs: public static void kron(DMatrixRMaj A , DMatrixRMaj B , DMatrixRMaj C )
      {
          int numColsC = A.numCols*B.numCols;
          int numRowsC = A.numRows*B.numRows;
  
          if( C.numCols != numColsC || C.numRows != numRowsC) {
              throw new MatrixDimensionException("C does not have the expected dimensions");
          }
  
          // TODO see comment below
          // this will work well for small matrices
          // but an alternative version should be made for large matrices
          for( int i = 0; i < A.numRows; i++ ) {
              for( int j = 0; j < A.numCols; j++ ) {
                  double a = A.get(i,j);
  
                  for( int rowB = 0; rowB < B.numRows; rowB++ ) {
                      for( int colB = 0; colB < B.numCols; colB++ ) {
                          double val = a*B.get(rowB,colB);
                          C.set(i*B.numRows+rowB,j*B.numCols+colB,val);
                      }
                  }
              }
          }
      }