docs: public static double transposeTimesTimes(final double[] v1, final double[][] m2, final double[] v3) {
      final int rowdim = m2.length, coldim = getColumnDimensionality(m2);
      assert rowdim == v1.length : ERR_MATRIX_INNERDIM;
      assert coldim == v3.length : ERR_MATRIX_INNERDIM;
      double sum = 0.0;
      for(int k = 0; k < rowdim; k++) {
        final double[] B_k = m2[k];
        double s = 0;
        for(int j = 0; j < coldim; j++) {
          s += v3[j] * B_k[j];
        }
        sum += s * v1[k];
      }
      return sum;
    }