docs: public static double[][] transpose(final double[][] m1) {
      final int rowdim = m1.length, coldim = getColumnDimensionality(m1);
      final double[][] re = new double[coldim][rowdim];
      for(int i = 0; i < rowdim; i++) {
        final double[] row = m1[i];
        for(int j = 0; j < coldim; j++) {
          re[j][i] = row[j];
        }
      }
      return re;
    }