class_docstr: Class for the Hypersphere Metric.
docstr: Compute the gradient of the normalization factor.
  
  Parameters
  ----------
  variances : array-like, shape=[n,]
      Variance of the distribution.
  
  Returns
  -------
  norm_func : array-like, shape=[n,]
      Normalisation factor for all given variances.
docstr_tok: ["Compute","the","gradient","of","the","normalization","factor",".","Parameters","--","--","--","--","--","variances",":","array-like",",","shape=","[","n",",","]","Variance","of","the","distribution",".","Returns","--","--","--","-","norm_func",":","array-like",",","shape=","[","n",",","]","Normalisation","factor","for","all","given","variances","."]
code: def norm_factor_gradient(self, variances):
      """Compute the gradient of the normalization factor.
  
      Parameters
      ----------
      variances : array-like, shape=[n,]
          Variance of the distribution.
  
      Returns
      -------
      norm_func : array-like, shape=[n,]
          Normalisation factor for all given variances.
      """
  
      def func(var):
          return gs.sum(self.normalization_factor(var))
  
      _, grad = gs.autodiff.value_and_grad(func)(variances)
      return _, grad
  
imports: import logging
  import math
  from itertools import product
  from scipy.stats import beta
  import geomstats.algebra_utils
  import geomstats.backend
  from geomstats.geometry.base import LevelSet
  from geomstats.geometry.euclidean import Euclidean
  from geomstats.geometry.riemannian_metric import RiemannianMetric
  from geomstats.vectorization import get_batch_shape, repeat_out
label_desc: Use image node_id 14 for calling the HypersphereMetric obj's underlying member method code with example usage: obj.norm_factor_gradient(variances) and returns: _,  grad, gs