mushi.composition.clr

clr(mat)[source]

Performs centre log ratio transformation.

This function transforms compositions from Aitchison geometry to the real space. The \(clr\) transform is both an isometry and an isomorphism defined on the following spaces

\(clr: S^D \rightarrow U\)

where \(U= \{x :\sum\limits_{i=1}^D x = 0 \; \forall x \in \mathbb{R}^D\}\)

It is defined for a composition \(x\) as follows:

\[clr(x) = \ln\left[\frac{x_1}{g_m(x)}, \ldots, \frac{x_D}{g_m(x)}\right]\]

where \(g_m(x) = (\prod\limits_{i=1}^{D} x_i)^{1/D}\) is the geometric mean of \(x\).

Parameters

mat (array_like, float) – a matrix of proportions where rows = compositions and columns = components

Returns

clr transformed matrix

Return type

numpy.ndarray

Examples

>>> import numpy as np
>>> import mushi.composition as cmp
>>> x = np.array([.1, .3, .4, .2])
>>> cmp.clr(x)
DeviceArray([-0.79451346,  0.30409883,  0.5917809 , -0.10136628], dtype=float64)