Tensor AAA

Contents

Tensor AAA#

diffaaable.tensor.tensor_aaa(z_k, F_k, tol_aaa=1e-09, mmax_aaa=100, thres_numerical_zero=1e-13, norm_power=0)[source]#

Convenience alternative to the vector valued AAA algorithm (aaa.vectorial) accepting a tensor valued function F_k (so arbitrary dimensionality) instead of the single dimension that aaa.vectorial requires.

This function will first flatten the tensor valued function F_k and then apply the AAA algorithm to the flattened data. The result will be reshaped to the original tensor shape. The AAA algorithm will only be applied to the non-zero entries of the tensor. The entries very close to zero for all z_k will be replaced by zero.

Internally tensor_aaa uses a sped up version of the AAA algorithm. (see https://doi.org/10.1093/imanum/draa098) This can lead to numerical issues when reorthogonalization is sloppy. Further investigation needed.

Parameters:
  • z_k (complex) – M sample points

  • F_k (complex) – Mx… array of the sampled vector (arbitrary size) evaluated at z_k

  • tol_aaa (float) – tolerance for the AAA algorithm

  • mmax_aaa (int) – maximum number of support points for the AAA algorithm

  • thres_numerical_zero (float) – threshold for detecting numerical zeros. These will be replaced by symbolic zeros and not fitted.

  • norm_power (int) – The different tensor entries are normalized by their maximum absolute value to the power of norm_power. By default norm_power=0 the tensor entries are not normalized.