Welcome to Spektra
Your online tool for spectral inversion and analytic continuation

What Is Spectral Inversion?

A common problem in physics and applied mathematics is solving the following integral equation known as Fredholm integral equation of first kind \[g(y) = \int_a^b K(y,x) f(x) .\] \(K(y,x)\) is an analytically-known function called the integral kernel and \(f(x)\) is an unknwon non-negative function represnting the density or spectrum of a physical quantity. The goal is numerically estimating the spectrum \(f(x)\) given a finite and noisy set of \(g(y)\) values (called the data).

An Ill-Posed Problem

Solving the above integral equation in the presence of noise is an ill-posed problem with no unique solution. When computing the data \(g(y)\), oscillations and sharp features in the spectrum \(f(x)\) get smoothed out and noise gets damped due to the integration. The inverse problem of reconstructing the spectrum with its full details, however, is difficult. Without regularization, small noise on the data gets extremely amplified leading to spectra dominated by noise.

Average Spectrum Methods

A powerful approach for solving spectral inversion problems is the Average Spectrum Method (ASM). After discretizing the spectrum on some grid \(\mathbf{x}\), it makes only the minimal assumptions about the spectral integrals \(\mathbf{\bar{f}}\) on that grid; The spectrum must be a non-negative function and any two spectra with equal fits to the data \(\chi\) should be treated equally. As a result, it averages over all spektra weighted by how well they fit the data.

Average spectrum methods are organized in hierarchy of increasing power and complexity, where each method averages over the results of the previous one with an apporperiate weight factor based on Bayesian inference \[ \underbrace{\int\! dw \underbrace{\int\! d\mathbf{x} \prod_{i=1}^{N} \rho_q(w; x_i) \underbrace{\int\limits_{0}^{\infty}\! d\mathbf{\bar{f}} \; \mathrm{e}^{-\frac12\chi^2[\mathbf{\bar{f}}, \mathbf{x}]}\, f(\mathbf{\bar{f}},\mathbf{x}; x)}_{f_\text{ASM}(\mathbf{x}; x)}}_{f_\text{ASM}(\rho_q, w, N; x)}}_{f_\text{ASM}(\rho_q, N; x)}\] Spektra provides a highly-optimized implementation of all three methods and make it accessible through an online interface. You can simply upload your data in a convenient format and submit calculations with few clicks. The computation is done remotely and the results are available in seconds/minutes.


Analytic Continuation

An important application of spectral inversion is the analytic continuation of Quantum Monte Carlo (QMC) data in condensed matter physics. Actually, the average spectrum method is originally developed for solving the analytic continuation problem.

QMC methods often compute Green or correlation functions for imaginary times or Matsubara frequencies. This data need then to be analytically continued to the real axis in order to extract the dynamical properties of the physical system of interest. We have implemented several analytic continuation kernels in Spektra and others will be supported shortly.

Further Applications

If you have a spectral inversion problem that you would like to solve with Spektra, please send us an email with a short description of your problem and the details of your integral kernel. We are happy to add it to the list of kernels supported by Spektra.


This project was partially supported by the Max Planck Institute for Solid State Research. We also thankfully acknowledge the support from Google Cloud during the initial phase of this project through their Academic Research Grants Program.

Google Cloud Max Planck Institute for Solid State Research