anaflow.tools.mean

Anaflow subpackage providing several mean calculating routines.

The following functions are provided

annular_fmean(func, val_arr, f_def, f_inv[, …])

Calculating the annular generalized f-mean.

annular_amean(func, val_arr[, ann_dim, arg_dict])

Calculating the annular arithmetic mean.

annular_gmean(func, val_arr[, ann_dim, arg_dict])

Calculating the annular geometric mean.

annular_hmean(func, val_arr[, ann_dim, arg_dict])

Calculating the annular harmonic mean.

annular_pmean(func, val_arr[, p, ann_dim, …])

Calculating the annular p-mean.

annular_amean(func, val_arr, ann_dim=2, arg_dict=None, **kwargs)[source]

Calculating the annular arithmetic mean.

Calculating the annular arithmetic mean of a radial symmetric function for given consecutive radii defining annuli by the following formula

\varphi_i=\frac{d}{r_{i+1}^d-r_i^d}
\intop^{r_{i+1}}_{r_i} r^{d-1}\cdot \varphi(r)\, dr

Parameters
  • func (callable) – Function that should be used (\varphi in the formula). The first argument needs to be the radial variable: func(r, **kwargs)

  • val_arr (numpy.ndarray) – Radii defining the annuli.

  • ann_dim (float, optional) – The dimension of the annuli. Default: 2.0

  • arg_dict (dict or None, optional) – Keyword-arguments given as a dictionary that are forwarded to the function given in func. Will be merged with **kwargs. This is designed for overlapping keywords in annular_amean and func. Default: None

  • **kwargs – Keyword-arguments that are forwarded to the function given in func. Will be merged with arg_dict

Returns

Array with all calculated arithmetic means

Return type

numpy.ndarray

Raises
  • ValueError – If func is not callable.

  • ValueError – If val_arr has less than 2 values.

  • ValueError – If val_arr is not sorted in incresing order.

Notes

If the last value in val_arr is “inf”, the given function should provide a value for “inf” as input: func(float("inf"))

annular_fmean(func, val_arr, f_def, f_inv, ann_dim=2, arg_dict=None, **kwargs)[source]

Calculating the annular generalized f-mean.

Calculating the annular generalized f-mean of a radial symmetric function for given consecutive radii defining annuli by the following formula

\varphi_i=f^{-1}\left(\frac{d}{r_{i+1}^d-r_i^d}
\intop^{r_{i+1}}_{r_i} r^{d-1}\cdot f(\varphi(r))\, dr \right)

Parameters
  • func (callable) – Function that should be used (\varphi in the formula). The first argument needs to be the radial variable: func(r, **kwargs)

  • val_arr (numpy.ndarray) – Radii defining the annuli.

  • ann_dim (float, optional) – The dimension of the annuli. Default: 2.0

  • f_def (callable) – Function defining the f-mean.

  • f_inv (callable) – Inverse of the function defining the f-mean.

  • arg_dict (dict or None, optional) – Keyword-arguments given as a dictionary that are forwarded to the function given in func. Will be merged with **kwargs. This is designed for overlapping keywords in annular_fmean and func. Default: None

  • **kwargs – Keyword-arguments that are forwarded to the function given in func. Will be merged with arg_dict

Returns

Array with all calculated arithmetic means

Return type

numpy.ndarray

Raises

Notes

If the last value in val_arr is “inf”, the given function should provide a value for “inf” as input: func(float("inf"))

annular_gmean(func, val_arr, ann_dim=2, arg_dict=None, **kwargs)[source]

Calculating the annular geometric mean.

Calculating the annular geometric mean of a radial symmetric function for given consecutive radii defining annuli by the following formula

\varphi_i=\exp\left(\frac{d}{r_{i+1}^d-r_i^d}
\intop^{r_{i+1}}_{r_i} r^{d-1}\cdot \ln(\varphi(r))\, dr \right)

Parameters
  • func (callable) – Function that should be used (\varphi in the formula). The first argument needs to be the radial variable: func(r, **kwargs)

  • val_arr (numpy.ndarray) – Radii defining the annuli.

  • ann_dim (float, optional) – The dimension of the annuli. Default: 2.0

  • arg_dict (dict or None, optional) – Keyword-arguments given as a dictionary that are forwarded to the function given in func. Will be merged with **kwargs. This is designed for overlapping keywords in annular_gmean and func. Default: None

  • **kwargs – Keyword-arguments that are forwarded to the function given in func. Will be merged with arg_dict

Returns

Array with all calculated geometric means

Return type

numpy.ndarray

Raises
  • ValueError – If func is not callable.

  • ValueError – If val_arr has less than 2 values.

  • ValueError – If val_arr is not sorted in incresing order.

Notes

If the last value in val_arr is “inf”, the given function should provide a value for “inf” as input: func(float("inf"))

Examples

>>> f = lambda x: x**2
>>> annular_gmean(f, [1,2,3])
array([ 2.33588885,  6.33423311])
annular_hmean(func, val_arr, ann_dim=2, arg_dict=None, **kwargs)[source]

Calculating the annular harmonic mean.

Calculating the annular harmonic mean of a radial symmetric function for given consecutive radii defining annuli by the following formula

\varphi_i=\left(\frac{d}{r_{i+1}^d-r_i^d}
\intop^{r_{i+1}}_{r_i} r^{d-1}\cdot \varphi(r)^{-1}\, dr \right)^{-1}

Parameters
  • func (callable) – Function that should be used (\varphi in the formula). The first argument needs to be the radial variable: func(r, **kwargs)

  • val_arr (numpy.ndarray) – Radii defining the annuli.

  • ann_dim (float, optional) – The dimension of the annuli. Default: 2.0

  • arg_dict (dict or None, optional) – Keyword-arguments given as a dictionary that are forwarded to the function given in func. Will be merged with **kwargs. This is designed for overlapping keywords in annular_hmean and func. Default: None

  • **kwargs – Keyword-arguments that are forwarded to the function given in func. Will be merged with arg_dict

Returns

Array with all calculated geometric means

Return type

numpy.ndarray

Raises
  • ValueError – If func is not callable.

  • ValueError – If val_arr has less than 2 values.

  • ValueError – If val_arr is not sorted in incresing order.

Notes

If the last value in val_arr is “inf”, the given function should provide a value for “inf” as input: func(float("inf"))

annular_pmean(func, val_arr, p=2.0, ann_dim=2, arg_dict=None, **kwargs)[source]

Calculating the annular p-mean.

Calculating the annular p-mean of a radial symmetric function for given consecutive radii defining annuli by the following formula

\varphi_i=\left(\frac{d}{r_{i+1}^d-r_i^d}
\intop^{r_{i+1}}_{r_i} r^{d-1}\cdot\varphi(r)^p\, dr
\right)^{\frac{1}{p}}

Parameters
  • func (callable) – Function that should be used (\varphi in the formula). The first argument needs to be the radial variable: func(r, **kwargs)

  • val_arr (numpy.ndarray) – Radii defining the annuli.

  • p (float, optional) – The potency defining the p-mean. Default: 2.0

  • ann_dim (float, optional) – The dimension of the annuli. Default: 2.0

  • arg_dict (dict or None, optional) – Keyword-arguments given as a dictionary that are forwarded to the function given in func. Will be merged with **kwargs. This is designed for overlapping keywords in annular_pmean and func. Default: None

  • **kwargs – Keyword-arguments that are forwarded to the function given in func. Will be merged with arg_dict

Returns

Array with all calculated p-means

Return type

numpy.ndarray

Raises
  • ValueError – If func is not callable.

  • ValueError – If val_arr has less than 2 values.

  • ValueError – If val_arr is not sorted in incresing order.

Notes

If the last value in val_arr is “inf”, the given function should provide a value for “inf” as input: func(float("inf"))