Skip to main content
`Ctrl`+`K`

# skbio.stats.composition.alr_inv

skbio.stats.composition.alr_inv(mat, denominator_idx=0)

  Perform inverse additive log ratio transform.

  This function transforms compositions from the non-isometric real space of alrs to Aitchison geometry.

  \[alr^{-1}: \mathbb{R}^{D-1} \rightarrow S^D\]

  The inverse alr transformation is defined as follows:

  \[alr^{-1}(x) = C[exp([y_1, y_2, ..., y_{D-1}, 0])]\]

  where \(C[x]\) is the closure operation defined as

  \[C[x] = \left[\frac{x_1}{\sum_{i=1}^{D} x_i},\ldots, \frac{x_D}{\sum_{i=1}^{D} x_i} \right]\]

  for some \(D\) dimensional real vector \(x\) and \(D\) is the number of components for every composition.

  Parameters:
    mat array_like of shape (n_compositions, n_components - 1)

      A matrix of alr-transformed data.

    denominator_idx int

      The index of the column (2-D matrix) or position (vector) of `mat` which should be used as the reference composition. Default is 0 which specifies the first column or position.

  Returns:
    ndarray of shape (n_compositions, n_components)

      Inverse alr-transformed matrix or vector where rows sum to 1.

  Examples

      >>> import numpy as np
      >>> from skbio.stats.composition import alr, alr_inv
      >>> x = np.array([.1, .3, .4, .2])
      >>> alr_inv(alr(x))
      array([ 0.1,  0.3,  0.4,  0.2])