Barycentric Rational Function Approximation
The BarRat solver is experimental. Please use it at your own risk.
Barycentric Rational Function Approximation
The barycentric formula takes the form of a quotient of two partial fractions,
\[r(z) = \frac{n(z)}{d(z)} = \sum^m_{j=1} \frac{w_j f_j}{z - z_j} {\huge/} \sum^m_{j=1} \frac{w_j}{z - z_j},\]
where $m \ge 1$ is an integer, $z_1, \cdots, z_m$ are a set of real or complex distinct support points (nodes
), $f_1, \cdots, f_m$ are a set of real or complex data values
, and $w_1, \cdots, w_m$ are a set of real or complex weights
. As indicated in this equation, we just let $n(z)$ and $d(z)$ stand for the partial fractions in the numerator and the denominator.
Prony interpolation
Our input data consists of an odd number $2N + 1$ of Matsubara points $G(i\omega_n)$ that are uniformly spaced. Prony's interpolation method interpolates $G_k$ as a sum of exponentials
\[G_k = \sum^{N-1}_{i=0} w_i \gamma^k_i,\]
where $0 \le k \le 2N$, $w_i$ denote complex weights and $\gamma_i$ corresponding nodes.
Prony approximation
Prony's interpolation method is unstable. We therefore employs a Prony approximation, rather than an interpolation of $G$. For the physical Matsubara functions, which decay in magnitude to zero for $i\omega_n \to i\infty$, only $K \propto \log{1/\varepsilon}$ out of all $N$ nodes in the Prony approximation have weights $|w_i| > \varepsilon$. Thus, we have
\[\left|G_k - \sum^{K-1}_{i=0} w_i \gamma^k_i\right| \le \varepsilon,\]
for all $0 \le k \le 2N$.
Relevant parameters
See [BarRat] Block