class_docstr: Class for the manifold of Gamma distributions.
  
  This is :math:`Gamma = (R_+^*)^2`, the positive quadrant of the
  2-dimensional Euclidean space.
class_docstr_tok: ["Class","for","the","manifold","of","Gamma","distributions",".","This","is",":","math",":","`","Gamma","=","(","R_+^","*",")","^2","`",",","the","positive","quadrant","of","the","2-dimensional","Euclidean","space","."]
docstr: Convert tangent vector from natural coordinates to standard coordinates.
  
  The change of variable is symmetric.
  
  Parameters
  ----------
  base_point : array-like, shape=[..., 2]
      Point of the Gamma manifold, given in natural coordinates.
  vec : array-like, shape=[..., 2]
      Tangent vector at base_point, given in natural coordinates.
  
  Returns
  -------
  vec : array-like, shape=[..., 2]
      Tangent vector at base_point, given in standard coordinates.
docstr_tok: ["Convert","tangent","vector","from","natural","coordinates","to","standard","coordinates",".","The","change","of","variable","is","symmetric",".","Parameters","--","--","--","--","--","base_point",":","array-like",",","shape=","[","...",",","2","]","Point","of","the","Gamma","manifold",",","given","in","natural","coordinates",".","vec",":","array-like",",","shape=","[","...",",","2","]","Tangent","vector","at","base_point",",","given","in","natural","coordinates",".","Returns","--","--","--","-","vec",":","array-like",",","shape=","[","...",",","2","]","Tangent","vector","at","base_point",",","given","in","standard","coordinates","."]
code: def tangent_natural_to_standard(self, vec, base_point):
      """Convert tangent vector from natural coordinates to standard coordinates.
  
      The change of variable is symmetric.
  
      Parameters
      ----------
      base_point : array-like, shape=[..., 2]
          Point of the Gamma manifold, given in natural coordinates.
      vec : array-like, shape=[..., 2]
          Tangent vector at base_point, given in natural coordinates.
  
      Returns
      -------
      vec : array-like, shape=[..., 2]
          Tangent vector at base_point, given in standard coordinates.
      """
      base_point = gs.broadcast_to(base_point, vec.shape)
  
      kappa, scale = base_point[..., 0], base_point[..., 1]
  
      jac_row_1 = gs.array([1, 0])
      jac_row_2 = gs.stack([1 / scale, -kappa / scale**2], axis=-1)
  
      if check_is_batch(self.point_ndim, base_point):
          jac_row_1 = gs.repeat(
              gs.expand_dims(jac_row_1, axis=0),
              base_point.shape[0],
              axis=0,
          )
  
      jac = gs.stack([jac_row_1, jac_row_2], axis=-2)
  
      return gs.einsum("...jk,...k->...j", jac, vec)
  
imports: from scipy.stats import gamma
  import geomstats.backend
  from geomstats.algebra_utils import from_vector_to_diagonal_matrix
  from geomstats.geometry.base import VectorSpaceOpenSet
  from geomstats.geometry.euclidean import Euclidean
  from geomstats.geometry.riemannian_metric import RiemannianMetric
  from geomstats.information_geometry.base import InformationManifoldMixin, ScipyUnivariateRandomVariable
  from geomstats.numerics.bvp import ScipySolveBVP
  from geomstats.numerics.geodesic import ExpODESolver, LogODESolver
  from geomstats.numerics.ivp import ScipySolveIVP
  from geomstats.vectorization import check_is_batch
label_desc: Use image node_id 11 for calling the GammaDistributions obj's underlying member method code with example usage: obj.tangent_natural_to_standard(vec, base_point) and returns: gs