def quadrature_scheme_softmaxnormal_gauss_hermite(<EOL>normal_loc, normal_scale, quadrature_size,<EOL>validate_args=False, name=None):
with tf.name_scope(<EOL>name or "<STR_LIT>"):<EOL><INDENT>normal_loc = tf.convert_to_tensor(value=normal_loc, name="<STR_LIT>")<EOL>npdt = dtype_util.as_numpy_dtype(normal_loc.dtype)<EOL>normal_scale = tf.convert_to_tensor(<EOL>value=normal_scale, dtype=npdt, name="<STR_LIT>")<EOL>normal_scale = maybe_check_quadrature_param(<EOL>normal_scale, "<STR_LIT>", validate_args)<EOL>grid, probs = np.polynomial.hermite.hermgauss(deg=quadrature_size)<EOL>grid = grid.astype(npdt)<EOL>probs = probs.astype(npdt)<EOL>probs /= np.linalg.norm(probs, ord=<NUM_LIT:1>, keepdims=True)<EOL>probs = tf.convert_to_tensor(value=probs, name="<STR_LIT>", dtype=npdt)<EOL>grid = softmax(<EOL>-distribution_util.pad(<EOL>(normal_loc[..., tf.newaxis] +<EOL>np.sqrt(<NUM_LIT>) * normal_scale[..., tf.newaxis] * grid),<EOL>axis=-<NUM_LIT:2>,<EOL>front=True),<EOL>axis=-<NUM_LIT:2>)  <EOL>return grid, probs<EOL><DEDENT>
Use Gauss-Hermite quadrature to form quadrature on `K - 1` simplex.

    A `SoftmaxNormal` random variable `Y` may be generated via

    ```
    Y = SoftmaxCentered(X),
    X = Normal(normal_loc, normal_scale)
    ```

    Note: for a given `quadrature_size`, this method is generally less accurate
    than `quadrature_scheme_softmaxnormal_quantiles`.

    Args:
      normal_loc: `float`-like `Tensor` with shape `[b1, ..., bB, K-1]`, B>=0.
        The location parameter of the Normal used to construct the SoftmaxNormal.
      normal_scale: `float`-like `Tensor`. Broadcastable with `normal_loc`.
        The scale parameter of the Normal used to construct the SoftmaxNormal.
      quadrature_size: Python `int` scalar representing the number of quadrature
        points.
      validate_args: Python `bool`, default `False`. When `True` distribution
        parameters are checked for validity despite possibly degrading runtime
        performance. When `False` invalid inputs may silently render incorrect
        outputs.
      name: Python `str` name prefixed to Ops created by this class.

    Returns:
      grid: Shape `[b1, ..., bB, K, quadrature_size]` `Tensor` representing the
        convex combination of affine parameters for `K` components.
        `grid[..., :, n]` is the `n`-th grid point, living in the `K - 1` simplex.
      probs:  Shape `[b1, ..., bB, K, quadrature_size]` `Tensor` representing the
        associated with each grid point.