class_docstr: Represents a tangent space to some manifold M at a point x.
  
  TFP allows one to transform manifolds via `Bijector`s. Keeping track
  of the tangent space to a manifold allows us to calculate the
  correct push-forward density under such transformations.
  
  In general, the density correction involves computing the basis of
  the tangent space as well as the image of that basis under the
  transformation. But we can avoid this work in special cases that
  arise from the properties of the transformation f (e.g.,
  dimension-preserving, coordinate-wise) and the density p of the
  manifold (e.g., discrete, supported on all of R^n).
  
  Each subclass of `TangentSpace` represents a specific property of
  densities seen in the uses of TFP. The methods of `TangentSpace`
  represent the special `Bijector` structures provided by TFP. Each
  subclass thus defines how to compute the density correction under
  each kind of transformation.
class_docstr_tok: ["Represents","a","tangent","space","to","some","manifold","M","at","a","point","x.","TFP","allows","one","to","transform","manifolds","via","`","Bijector","`","s",".","Keeping","track","of","the","tangent","space","to","a","manifold","allows","us","to","calculate","the","correct","push-forward","density","under","such","transformations",".","In","general",",","the","density","correction","involves","computing","the","basis","of","the","tangent","space","as","well","as","the","image","of","that","basis","under","the","transformation",".","But","we","can","avoid","this","work","in","special","cases","that","arise","from","the","properties","of","the","transformation","f","(","e.g.",",","dimension-preserving",",","coordinate-wise",")","and","the","density","p","of","the","manifold","(","e.g.",",","discrete",",","supported","on","all","of","R^n",")",".","Each","subclass","of","`","TangentSpace","`","represents","a","specific","property","of","densities","seen","in","the","uses","of","TFP",".","The","methods","of","`","TangentSpace","`","represent","the","special","`","Bijector","`","structures","provided","by","TFP",".","Each","subclass","thus","defines","how","to","compute","the","density","correction","under","each","kind","of","transformation","."]
docstr: Same as `transform_dimension_preserving`, for a coordinatewise f.
  
  Default falls back to `transform_dimension_preserving`, which may
  be overridden in subclasses.
  
  Args:
    x: same as in `transform_dimension_preserving`.
    f: same as in `transform_dimension_preserving`.
    **kwargs: same as in `transform_dimension_preserving`.
  
  Returns:
    log_density: A `Tensor` representing the log density correction of f at x
    space: A `TangentSpace` representing the tangent to fM at f(x)
  
  Raises:
    NotImplementedError: if the `TangentSpace` subclass does not implement
      `transform_dimension_preserving`.
docstr_tok: ["Same","as","`","transform_dimension_preserving","`",",","for","a","coordinatewise","f.","Default","falls","back","to","`","transform_dimension_preserving","`",",","which","may","be","overridden","in","subclasses",".","Args",":","x",":","same","as","in","`","transform_dimension_preserving","`",".","f",":","same","as","in","`","transform_dimension_preserving","`",".","*","*","kwargs",":","same","as","in","`","transform_dimension_preserving","`",".","Returns",":","log_density",":","A","`","Tensor","`","representing","the","log","density","correction","of","f","at","x","space",":","A","`","TangentSpace","`","representing","the","tangent","to","fM","at","f","(","x",")","Raises",":","NotImplementedError",":","if","the","`","TangentSpace","`","subclass","does","not","implement","`","transform_dimension_preserving","`","."]
code: def transform_coordinatewise(self, x, f, **kwargs):
      """Same as `transform_dimension_preserving`, for a coordinatewise f.
  
      Default falls back to `transform_dimension_preserving`, which may
      be overridden in subclasses.
  
      Args:
        x: same as in `transform_dimension_preserving`.
        f: same as in `transform_dimension_preserving`.
        **kwargs: same as in `transform_dimension_preserving`.
  
      Returns:
        log_density: A `Tensor` representing the log density correction of f at x
        space: A `TangentSpace` representing the tangent to fM at f(x)
  
      Raises:
        NotImplementedError: if the `TangentSpace` subclass does not implement
          `transform_dimension_preserving`.
  
      """
      x = nest_util.convert_to_nested_tensor(x, dtype=f.dtype)
      return self._transform_coordinatewise(x, f, **kwargs)
  
imports: import tensorflow.compat.v2
  from tensorflow_probability.python.internal import distribution_util
  from tensorflow_probability.python.internal import nest_util
  from tensorflow_probability.python.internal import prefer_static
  from tensorflow_probability.python.internal import tensor_util
  from tensorflow_probability.python.internal import tensorshape_util
label_desc: Use image node_id 7 for calling the TangentSpace obj's underlying member method code with example usage: obj.transform_coordinatewise(x, f) and returns: self