\section{Introduction}

Black holes (BHs) are among the most peculiar regions of spacetime, and represent the endpoint of the evolution of sufficiently massive stars. They are a fundamental prediction of General Relativity (GR)~\cite{Einstein:1916vd,Schwarzschild:1916uq,Penrose:1964wq}, and are believed to hold the key for the unification of GR and quantum mechanics~\cite{Hawking:1976ra,Mathur:2005ai}. BHs are ubiquitous in astrophysical environments, and come in a wide range of sizes and masses, see e.g.~\cite{Bambi:2017iyh,Bambi:2019xzp} for reviews. Of particular interest to us are supermassive BHs (SMBHs), with masses in the range $10^5-10^{10} \; M_{\odot}$~\cite{Volonteri:2010wz}. There is evidence that SMBHs reside at the centre of most galaxies~\cite{LyndenBell:1969yx,Kormendy:1995er}, and power active galactic nuclei (AGNs), central luminous regions that often outshine the rest of the host galaxy.

Various observations suggest that a SMBH resides at the centre of the nearby giant elliptical galaxy Messier 87 (M87)~\cite{Gebhardt:2011yw,Walsh:2013uua}. Hereafter, we shall refer to this supermassive object as M87*. In fact, since 1918 there has been evidence for a radio core in M87~\cite{Curtis:1918ghw,Baade:1954ghw,Cohen:1969ghw}: such a radio core represents the signature of low-luminosity AGNs (LLAGNs)~\cite{Wrobel:1984ghw,Ho:1999ghw,Nagar:2005ghw} and by extension of SMBHs. LLAGNs consist of SMBHs accreting matter at a rather low rate, and surrounded by a geometrically thick and optically thin emission region~\cite{Ichimaru:1977ghw,Narayan:1995ghw,
Blandford:1999ghw,Ho:1999ghw,Yuan:2014ghw}. In a series of seminal simulations~\cite{Luminet:1979ghw}, it was shown that the combination of the SMBH event horizon and gravitational lensing of nearby photons leads to the appearance of a dark shadow in combination with a bright emission ring (see also~\cite{Lu:2014zja,Cunha:2018acu,Gralla:2019xty}). The work of~\cite{Falcke:1999pj} demonstrated that such image should be visible using very long baseline interferometry (VLBI) experiments. In order to observe the dark shadow of M87*, Earth-scale baseline VLBI is required.

The Event Horizon Telescope was set up with the goal of imaging the shadow of M87*, and possibly also that of Sgr A* (the SMBH at the center of the Milky Way). The EHT consists of a global network of radio telescopes observing at $1.3\,{\rm mm}$ wavelength and with Earth-scale baseline coverage~\cite{Fish:2016jil}. Recently, the collaboration succeeded in detecting the dark shadow of M87*~\cite{Akiyama:2019cqa, Akiyama:2019brx, Akiyama:2019sww,Akiyama:2019bqs,Akiyama:2019fyp,Akiyama:2019eap}.

The no-hair theorem states that BH solutions to the Einstein-Maxwell equations of GR and electromagnetism are completely characterised by three parameters: mass $M$, electric charge $Q$, and angular momentum $J$~\cite{Israel:1967wq,Israel:1967za,Carter:1971zc,Chrusciel:2012jk,Misner:1974qy}. Kerr BHs are rotating BHs with zero electric charge, whose line element was first derived in~\cite{Kerr:1963ud}. In order for the Kerr metric to describe a BH instead of a naked singularity (which would violate the cosmic censorship hypothesis~\cite{Penrose:1969pc}), the \textit{Kerr bound} $|a| \leq M$ needs to be satisfied, where $a = J/M$ is the rotational parameter.~\footnote{Throughout the manuscript, we adopt the units $G_{\rm N} = c = 1$.} In fact, it is easy to show that the radial coordinate of the horizon of a Kerr BH, $r_h$, is given by~\cite{Misner:1974qy}:
\begin{eqnarray}
	r_h = M + \sqrt{M^2-a^2}
\label{eq:rh}
\end{eqnarray}
in Boyer-Lindquist coordinates. The Kerr bound is then simply equivalent to the requirement that the argument of the square root in Eq.~(\ref{eq:rh}) be positive.

However, there is no good reason to believe that the singularity should still exist, and hence the cosmic censorship hypothesis be required, once quantum gravity effects are taken into account. In fact, it is plausible that quantum gravity effects, whatever they turn out to be, could ``cure'' the pathologies associated to time-like singularities. In this case, there is no reason to expect that the Kerr bound holds. In fact, Gimon and Ho\v{r}ava argued in~\cite{Gimon:2007ur} that the Kerr bound might be violated in string theory, to the point that the observation of compact objects violating the Kerr bound might be seen as experimental evidence for string theory. Such Kerr-violating objects were dubbed ``superspinars'' in~\cite{Gimon:2007ur}.~\footnote{We note that the possibility that superspinars are stable was proven in~\cite{Nakao:2017rgv}.} Another phenomenological possibility put forward in~\cite{Bambi:2008jg} is that quantum gravity effects might replace the singularity by an object of finite size, for instance a core of radius $R_{\rm ss}$. More generally, one might interpret $R_{\rm ss}$ as parametrising the scale at which quantum gravity effects become important.

Observing the dark shadow of astrophysical BH candidates is an extremely promising route towards experimentally verifying the existence of superspinars. As shown in~\cite{Bambi:2008jg}, the absence of a horizon leads to the shape and size of the dark shadow of superspinars being potentially dramatically different compared to those of a Kerr BH. While the shadow of a Kerr BH is expected to be quite circular (depending on the angle of observation)~\cite{Bardeen:1973ghw}, the shadow of superspinars can be highly non-circular (elliptical or even triangular-like)~\cite{Bambi:2008jg}. Moreover, although the shadow of a superspinar is generally smaller than that of its Kerr counterpart, we find that for $R_{\rm ss}$ of the same order as $M$ and for moderate spin $a \gtrsim M$, the shadow of a superspinar could resemble that of a Kerr BH. The dark shadow of M87* detected by the EHT is visibly highly circular. Deviations from circularity, quantified in~\cite{Akiyama:2019cqa} in terms of RMS distance from the average radius of the shadow, were estimated to be $\lesssim 10\%$. As argued in~\cite{Akiyama:2019cqa}, this detection already qualitatively rules out several exotic alternatives to that of M87* being a ``standard'' Kerr BH~\cite{Bambi:2015kza,Berti:2015itd}.

Our  goal in this paper is to quantitatively explore the bounds placed on the interpretation of M87* as either a standard Kerr BH or as a superspinar, from the measured circularity and angular diameter of the object in the EHT observations. First we bound the
parameter space describing M87* assuming it is a Kerr BH, in light of the inferred circularity of the image. We focus on the observation angle $\theta_{\rm obs}$ and dimensionless spin parameter $a_*=a/M$, and derive constraints on the two (see Fig.~\ref{fig:kerrexclusion}). We find that the observation excludes $\theta_{\rm obs} \gtrsim 45^{\circ}$ for $1\geq a_* \gtrsim 0.95$.

Secondly, we examine the claim made by the EHT collaboration in~\cite{Akiyama:2019cqa} that the superspinar case is qualitatively ruled out by the image of M87*. Our quantitative study in this paper shows that this statement is not true, and that a superspinar interpretation of M87* remains viable for certain regions of parameter space. In particular, using the phenomenological parametrisation put forward in~\cite{Bambi:2008jg}, one of our goals is to place limits on the previously mentioned quantity $R_{\rm ss}$, setting the scale at which quantum gravity effects become important and prevent the appearance of a naked singularity even when the Kerr bound is violated (see Fig.~\ref{fig:superspinnarexclusion} and Fig.~\ref{fig:superspinnarexclusionTheta}). We show that for some values of $R_{\rm ss} \sim M$ and for a dimensionless spin parameter $a_* \gtrsim 1$, the shadow of a superspinar has the desired size that matches the observed angular diameter of the M87* image, while respecting the circularity bounds. This exotic object cannot thus be ruled out as a possible explanation based on these quantities alone. Motivations for relatively large values of $R_{\rm ss}/M$ have been provided in terms of the BH information paradox~\cite{Hawking:1974sw,Mathur:2009hf,Marolf:2017jkr}, which seems to require new physics appearing at the gravitational radius of a system rather than at the Planck scale~\cite{Mathur:2002ie,Mathur:2005zp,Dvali:2011aa,Giddings:2017jts}.

\section{Shadow computation}

We now review the computation of the shadow of Kerr BHs and superspinars performed in~\cite{Bambi:2008jg}. Our discussion will be very brief and we encourage the reader to refer to~\cite{Bambi:2008jg} for detailed considerations and formulas. We begin by considering the case of a Kerr BH, thus respecting the Kerr bound $|a| \leq M$.

The shadow of the BH is defined as the boundary between capture orbits and scattering orbits: photons fired inside the shadow are captured, whereas photons fired outside are scattered. The BH shadow is found by looking at the photon orbits. In Boyer-Lindquist coordinates, the geodesic equation for photons can be rewritten in terms of an effective potential ${\cal R}$:
\begin{eqnarray}
	\left ( r^2+a^2\cos^2\theta \right ) \left ( \frac{dr}{d\lambda} \right ) = \sqrt{\cal R}\,,
	\label{eq:geo}
\end{eqnarray}
where ${\cal R}$ itself depends on $M$ and $a$ of the spacetime as well as on the energy $E$, the component of the angular momentum along the BH spin $L_z$, and the Carter constant ${\cal Q}$ of the photon (see Eqs.(2,3) in~\cite{Bambi:2008jg}).

Since photon trajectories are independent of the photon energy, it is convenient to work with the variables $\xi \equiv L_z/E$ and $\eta = {\cal Q}/E^2$. For an observer at infinity at an angle $\theta_{\rm obs}$, with $\theta_{\rm obs}=90^{\circ}$ denoting an observer on the equatorial plane, $\xi$ and $\eta$ are related to the celestial coordinates of the observer $x$ and $y$ by:
\begin{eqnarray}
	x = \frac{\xi}{\sin \theta_{\rm obs}}\,, \,\, y = \pm \sqrt{\eta + a^2\cos^2\theta_{\rm obs}-\xi^2\cot^2\theta_{\rm obs}}\,. \,\,\,\,\,\,
	\label{eq:xy}
\end{eqnarray}
Since $\xi$ and $\eta$ are ratios of constants of motion, they are constants of motion themselves. The goal is then to look for the values of $(\xi_c,\eta_c)$ characterising the photon orbits (defined as the circular orbits for which $E$ diverges for massive particles), as in the Kerr metric they separate capture and scattering orbits.  Operationally, the photon orbits are found by solving the two coupled algebraic equations ${\cal R}=0$ and $\partial{\cal R}/\partial r=0$ (closed expressions for $\xi_c$ and $\eta_c$ are given in Eq.(9) of~\cite{Bambi:2008jg}). From these values of $\xi_c$ and $\eta_c$ and using Eq.~(\ref{eq:xy}), we produce a parametric closed curve in the $x$-$y$ plane, representing the shadow of the BH.~\footnote{The parameter governing the parametric plot is $r$, and the range of acceptable values of $r$ is determined by imposing that $y^2 \geq 0$.} As in~\cite{Bambi:2008jg}, we find that the shadow is slightly asymmetric along the spin axis (it is flattened on the side corresponding to photons with angular momentum aligned with the BH spin), and shows a mild dependence on the observation angle (of course for an observer at $\theta_{\rm obs}=0^{\circ}$ the shadow is perfectly circular for symmetry reasons). For a Schwarzschild BH ($a=0$), the shadow is circular for any observation angle.

For a superspinar, the situation is slightly more complicated, as there are formally no capture orbits. As done in~\cite{Bambi:2008jg}, besides $\theta_{\rm obs}$ and $a$, we now introduce one extra parameter, $R_{\rm ss}$, governing the scale at which quantum gravity effects become relevant. Physically, we can imagine that the singularity at $r=0$ is replaced by an object of finite radius $R_{\rm ss}$ covering the singularity. Hence, one can formally think of ``capture'' orbits as those for which the turning point is at $r_t<R_{\rm ss}$.

Operationally the shadow is obtained by solving ${\cal R}=0$ and imposing $r=R_{\rm ss}$ to obtain values of $(\xi_s,\eta_s)$ characterising critical orbits. A closed expression for $\xi_s$ as a function of $\eta_s$ and $r=R_{\rm ss}$ is given in Eq.~(10) in~\cite{Bambi:2008jg}.~\footnote{Notice that there is a typo in Eq.~(10) of~\cite{Bambi:2008jg}. The expression in round brackets on the far-right of the numerator should be $(2Mr-r^2)$ and not $(4Mr-r^2)$.} In practice, we vary $\eta_s$ and verify that the corresponding $\xi_s$ is real: if this occurs, the $(\eta_s,\xi_s)$ point belongs to the boundary of the shadow. The set of all $(\eta_s,\xi_s)$ points is used in combination with Eq.~(\ref{eq:xy}) to produce a parametric closed curve in the $x$-$y$ plane, representing the shadow of the superspinar. As in~\cite{Bambi:2008jg}, we find that for $\theta_{\rm obs}=90^{\circ}$ and $R_{\rm ss}=0$ the shadow is a line, reflecting the fact that the cross-section for photon capture by the central core is infinitesimally thin. As $R_{\rm ss}$ is increased, the shadow becomes triangular-like. For intermediate $\theta_{\rm obs}$, the shadow becomes prolate, whereas for $\theta_{\rm obs}=0^{\circ}$ the shadow is a circle again for symmetry reasons.

The shadows of Kerr BHs and superspinars we obtain are symmetric upon reflection around the $x$-axis. The geometric centre of the shadow is given by $ \left (x_G = \int x dA/\int dA, y_G = 0 \right )$, with $dA$ the area element. We use the geometric centre to construct a measure of deviation from circularity $\Delta C$ as follows. We first define the angle $\phi$ between the x-axis and the vector connecting the centre of the figure $\left ( x_G, y_G \right )$ with the point $\left (x,y \right )$ at the boundary of the shadow we are considering. The average radius $\bar{R}$ of the shadow is then given by
\begin{eqnarray}
	\bar{R}^2 &\equiv & \frac{1}{2\pi}\int_{0}^{2\pi} d\phi\, \ell^2(\phi)\,,\nonumber \\
	\ell(\phi) &\equiv & \sqrt{ \left (x(\phi)-x_G \right )^2 + \left (y(\phi)-y_G \right )^2}\,.
	\label{eq:r}
\end{eqnarray}
Finally, following~\cite{Akiyama:2019cqa}, we define $\Delta C$ as the RMS distance from the average radius of the shadow $\bar{R}$,
\begin{eqnarray}
	\Delta C \equiv \frac{1}{\bar{R}}\sqrt{\frac{1}{2\pi}\int_0^{2\pi} d\phi \left (\ell(\phi) - \bar{R} \right )^2 }\,.
	\label{eq:circularity}
\end{eqnarray}
The deviation from circularity defined in Eq.~(\ref{eq:circularity}) can be used to perform a comparison between the theoretical predictions for Kerr BH and superspinar shadows, and the EHT observation.

\section{Results}

The EHT collaboration asserts that the deviation from circularity in the image of M87* is $\Delta C \lesssim 10\%$. We use this as an observational limit to place constraints on the parameter space of Kerr BHs and superspinars. We begin by considering the Kerr BH case.

\subsubsection*{Kerr BH} \label{sec:KerrBH}

For the Kerr BH case, the relevant parameter space is 2-dimensional, as the shape of the shadow is determined once the viewing angle $\theta_{\rm obs}$ and the dimensionless spin parameter $a_* \equiv a/M = J/M^2$ are known. We scan over the region of parameter space $a_* \in [0,1]$ and $\theta_c \in [0,90^{\circ}]$. The resulting deviation from circularity $\Delta C$ shown in Fig.~\ref{fig:kerrexclusion}, with the black curve denoting the EHT limit $\Delta C<0.1$ (the region to the right of the black curve is excluded). As we see from the figure, the measured circularity can only exclude the region of parameter space corresponding to observation angles $\theta_{\rm obs} \gtrsim 45^{\circ}$ near the Kerr limit $a_* \sim 1$, with the exact lower limit on $\theta_{\rm obs}$ depending on the value of $a_*$. For instance, for $a_*=0.9$ we find that $\theta_{\rm obs} \gtrsim 70^{\circ}$ is excluded, whereas for $a_*=0.95$ we find that $\theta_{\rm obs} \gtrsim 45^{\circ}$ is excluded.

When making the additional assumption that the jet is powered by the spin and it is aligned with the spin axis (for instance through the Blandford-Znajek mechanism~\cite{Blandford:1977ds}), the measurement of the direction of the jet leads to $\theta_{\rm obs} = 17^\circ$~\cite{Mertens:2016rhi}~\footnote{See Ref.~\cite{Sobyanin:2018jtb} for the effects of a magnetically arrested disk.}. Recently, the value $\theta_{\rm obs} = 17^\circ$ has been used in conjunction with simulations of the twist of the light emitted and propagated from the Einstein ring surrounding the shadow of M87* to estimate $a_* \simeq 0.9\pm 0.1$ for a Kerr BH~\cite{Tamburini:2019vrf}. In our work, we have not included any other observation besides the deviation from circularity of the Kerr BH, so that the constraints in Fig.~\ref{fig:kerrexclusion} are derived from the sole observation of the shadow~\cite{Kumar:2018ple}. These constraints are therefore complementary to those of~\cite{Tamburini:2019vrf}.
\begin{figure}[!t]
\begin{center}
\includegraphics[width=1.0\linewidth]{ExclusionPlot.pdf}
\caption{Kerr black hole: deviation from circularity $\Delta C$ defined in Eq.~\eqref{eq:circularity} as a function of the Kerr BH dimensionless spin parameter $a_* = a/M $ and observation angle $\theta_{\rm obs}$. The region above the black line is excluded by the measured circularity of M87* reported by the Event Horizon Telescope collaboration in~\cite{Akiyama:2019cqa}.}
\label{fig:kerrexclusion}
\end{center}
\end{figure}

\subsubsection*{Superspinar} \label{sec:superspinar}

The superspinar case is slightly more complex as the parameter space is now described by the three parameters: the observation angle $\theta_{\rm obs}$, the dimensionless spin parameter $a_*$, and the superspinar radius-to-mass ratio $R_{\rm ss}/M$.  We find that for low enough inclination angles the shadow is highly circular and hence compatible with the observed circularity of M87. Considerations on symmetry imply that the shadow of the superspinar is a circle in the limit $\theta_{\rm obs} \to 0^{\circ}$, independently of the values of $a_*$ and $R_{\rm ss}$. On the other hand, for $\theta_{\rm obs} \gg 50^{\circ}$, the deviations from circularity become extreme for most values of $a$ and $R_{\rm ss}$ and hence excluded by M87*. In any case, the criticism reported in~\cite{Akiyama:2019cqa} regarding the (im)possibility of M87* being a superspinar rely on the size of the shadow, which is expected to be smaller than that of a Kerr BH. In fact, the size of a Kerr BH shadow is generally of the order of $\sim 10\,M$ for most values of $\theta_{\rm obs}$ and $a_*$. On the other hand, the shadow of a superspinar can be smaller and less circular, depending on the parameters $\theta_{\rm obs}$, $a_*$, and $R_{\rm ss}$.

To quantify this result, we have also considered the observation reported in~\cite{Akiyama:2019eap} of the angular size of the shadow, $\delta = (42\pm 3)\,\mu$arcsec. Following~\cite{Akiyama:2019cqa}, we consider the distance to M87* to be $D = 16.8_{-0.7}^{+0.8}\,$Mpc, whereas the mass of the object is $M = (6.5 \pm 0.2\big|_{\rm stat} \pm 0.7\big|_{\rm sys})\times 10^9\,M_{\odot}$, with $M_{\odot}$ the mass of the Sun. These numbers imply that the size of the shadow should be:
\begin{equation}
	\frac{D\delta}{M} \simeq 11.0 \pm 1.5,
	\label{eq:shadow}
\end{equation}
where the errors have been added in quadrature and for simplicity we have considered a symmetric region $D = (16.80 \pm 0.75)\,$Mpc.

In Fig.~\ref{fig:superspinnarexclusion} we plot the deviation from circularity $\Delta C$ as a function of $a_*$ and $R_{\rm ss}/M$ for the superspinar case when fixing the angle of observation to $\theta_{\rm obs}=17^\circ$. For the relatively small angle $\theta_{\rm obs}=17^\circ$, the superspinar parameter space opens up considerably. The reason is that the shadow of the superspinar becomes more circular the more the observation angle moves towards zero, for symmetry reasons. The regions to the left of the black curve on the left side of the figure, above the black curve at the top of the figure, and to the right of the black curve on the right side of the figure, are excluded by the inferred circularity of M87*.

In addition to circularity, we also have to consider the constraints on the size of the shadow of M87*, which are given by Eq.~\eqref{eq:shadow}. The region of parameter space consistent with this size is enclosed between the two green curves in Fig.~\ref{fig:superspinnarexclusion}. When combining the two requirements of the superspinar having both the correct size and circularity, we find that the {\it allowed} range of parameter space is given by the green hatched region in Fig.~\ref{fig:superspinnarexclusion}: this is the portion of parameter space corresponding to the intersection of the two region we previously described. For any of the values of $a_*$ and $R_{\rm ss}$ lying within the hatched region, the superspinar solution leads to a viable shadow that resembles what has been observed in M87*, both in terms of size and circularity. On the left side of the figure, we see that the inferred circularity leads to the constraint $1.8 \lesssim R_{\rm ss}/M \lesssim 3.5$ for $1 \lesssim a_* \lesssim 4.5$. On the right side of the figure, we find that a vertical region at values $4.5\lesssim a_*\lesssim 6.5$ and for $R_{\rm ss}/M \lesssim 3$ is also allowed: this reflects the fact that for a given value of the core radius $R_{\rm ss}$, the size of a superspinar shadow tends to appear larger as $a_*$ is increased.
\begin{figure}[!t]
\begin{center}
	\includegraphics[width=1.0\linewidth]{SuperSpinnarAllowed.pdf}
	\caption{Superspinar: The green hatched region shows the allowed region of parameter space for superspinars, in agreement with the circularity and size of the EHT observation, at fixed observation angle $\theta_{\rm obs}=17^\circ$. The parameters shown are the superspinar dimensionless spin parameter $a_*$ and radius-to-mass ratio $R_{\rm ss}/M$. The color coding illustrates the deviation from circularity $\Delta C$ defined in Eq.~\eqref{eq:circularity}. The regions to the left of the black curve on the left side of the figure, to the right of the black curve on the right side of the figure, and above the black curve on the top of the figure, are excluded by the circularity of M87* inferred by the Event Horizon Telescope collaboration in~\cite{Akiyama:2019cqa}. In the two regions within the green lines, the size of the superspinar shadow matches the size reported by the EHT collaboration~\cite{Akiyama:2019eap}. The intersection between the region allowed by the circularity limits and the region allowed by the size limits is given by the region hatched in green.}
	\label{fig:superspinnarexclusion}
\end{center}
\end{figure}

We now discuss the results we obtain when we do not concentrate on the value $\theta_{\rm obs} = 17^\circ$, and instead fix the value of the spin parameter. In Fig.~\ref{fig:superspinnarexclusionTheta}, we plot $\Delta C$ as a function of $R_{\rm ss}$ and the angle of observation $\theta_{\rm obs}$ for $a_*=1.1$. A large deviation from circularity excludes the whole region of parameter space to the right of the black curve in Fig.~\ref{fig:superspinnarexclusionTheta}. In particular, for $R_{\rm ss} \lesssim 0.1\,M$, any inclination larger than $\theta_{\rm obs} \approx 35^{\circ}$ is excluded. When the core radius increases, $R_{\rm ss} \gtrsim 0.1\,M$, the lower limit on $\theta_{\rm obs}$ gets progressively weaker because the shadow becomes more and more circular. For $R_{\rm ss} \gtrsim 1$, the trend changes and the superspinar appears to be less circular for a larger core radius. When we include the information obtained from the size of the shadow, we find that most of the region $R_{\rm ss} \lesssim M$ is excluded. As in Fig.~\ref{fig:superspinnarexclusion}, the hatched region is the allowed region of parameter space obtained by combining the constraints from circularity as well as size of the shadow. For larger values of $R_{\rm ss} \gtrsim M$ and a relatively low inclination angle, we obtain a portion of the parameter space in which the shadow respects both the requirements from the circularity (it lies to the left of the black curve) and of the size [it lies within the two green lines describing the bound in Eq.~\eqref{eq:shadow}]. For this restricted region of parameter space, we cannot exclude the possibility that M87* might be a superspinar. As can be seen from Fig.~\ref{fig:superspinnarexclusionTheta}, values of $1 \lesssim R_{\rm ss}/M \lesssim 5$ are allowed for sufficiently low observation angles ($\theta_{\rm obs} \lesssim 10^{\circ}$).  Indeed $R_{\rm ss}/M \sim 3$ is allowed out to $\theta_{\rm obs} \sim 35^{\circ}$ for $a_*=1.1$.
\begin{figure}[!t]
\begin{center}
	\includegraphics[width=1.0\linewidth]{ExclusionPlotSuperSpinnarTheta.pdf}
	\caption{Superspinar: The green hatched region shows the allowed region of parameter space for superspinars, in agreement with the circularity and size of the EHT observation, at fixed dimensionless spin parameter $a_* = 1.1$. Here the parameters explored are the superspinar observation angle $\theta_{\rm obs}$ and radius-to-mass ratio $R_{\rm ss}/M$. The color coding illustrates the deviation from circularity $\Delta C$ defined in Eq.~\eqref{eq:circularity}. The region to the right of the black line is excluded by the measured circularity of M87* reported by the Event Horizon Telescope collaboration in~\cite{Akiyama:2019cqa}. The white region to the right of the figure features extreme deviations from circularity ($\Delta C \gg 100\%$) and was not explored for practical reasons. The two green lines bound the region in which the size of the superspinar lies within the range given by observations, Eq.~\eqref{eq:shadow}. The intersection between the region allowed by the circularity limits and the region allowed by the size limits is given by the region hatched in green. One can see that values of $5 \gtrsim R_{\rm ss}/M \gtrsim 1$ are allowed, depending on the observation angle.}
	\label{fig:superspinnarexclusionTheta}
\end{center}
\end{figure}

In Fig.~\ref{fig:shadows} we show the shadow obtained for some representative cases that are related to the results obtained in this Section. The upper row considers shadows associated to the Kerr solutions in Sec.~\ref{sec:KerrBH}, while the lower row shows cases associated to the superspinars discussed in Sec.~\ref{sec:superspinar} for an observation angle $\theta_{\rm obs} = 17^{\circ}$. The figures on the left column consider two cases which are excluded by the data: the deviation from circularity for the Kerr BH is too large, and the superspinar is too small and oblate. The figures on the right column show two cases which are allowed for the Kerr BH (top) and the superspinar (bottom).
\begin{figure}[!t]
\begin{center}
	\includegraphics[width=1.0\linewidth]{GridPlot.pdf}
	\caption{Top: shadows of a Kerr BH for $a_* = 0.999$ and for an observation angle $\theta_{\rm obs} = 90^{\circ}$ (left) and $\theta_{\rm obs} = 17^{\circ}$ (right). Bottom: shadows of a superspinar for $a_* = 1.1$, an observation angle $\theta_{\rm obs} = 17^{\circ}$, and for $R_{\rm ss} = 0.5\,M$ (left) and $R_{\rm ss} = 2.5\,M$  (right). The unit of length on the $x$ axis is $M$. The shadows on the left-hand side are excluded by the EHT image: the deviation from circularity for the Kerr BH is too large, and the superspinar is too small and oblate. The shadows on the right-hand side are instead allowed by the EHT image. Note that from Eq.~(\ref{eq:shadow}) the radius of the EHT image is $\approx 5.5$ in units of $M$, which is consistent with the two shadows on the right-hand side.}
	\label{fig:shadows}
\end{center}
\end{figure}

We mention one final caveat pertaining to the shadows of superspinars. In some regions of parameter space, the shadows are highly non-circular and even present triangular-like shapes with sharp edges~\cite{Bambi:2008jg}. We expect the sharpness of the shadow to be an effect of the parametrisation of the core, whose radius $R_{\rm ss}$ acts as a cutoff below which the Kerr solution is no longer applicable and quantum gravity effects take place. While phenomenologically useful, such a parametrisation is certainly a crude approximation, given that quantum gravity effects would gradually switch on and modify the Kerr solution outside of the core. Lacking a complete and well motivated theory of quantum gravity, it is hard to assess the exact impact of quantum gravity effects on the shadows of superspinars. It is plausible, however, that such effects might smear the shadow (and in particular the sharp edges), possibly making it more circular and hence leading to a larger region of superspinar parameter space being consistent with the EHT image. We postpone a more detailed investigation of such an issue to a future study.

\section{Conclusions}

The extraordinary first detection of a BH shadow by the Event Horizon Telescope collaboration leads to a deeper understanding of these extreme objects. BHs are becoming now more than ever a tangible reality which we can use to perform tests of GR and fundamental physics. In this paper, we have used the fact that the shadow of M87* is very close to circular in addition to the size of the shadow to study the possible nature of this object. We have first considered the scenario where we take M87* to be a Kerr BH, thus respecting the Kerr bound $|a| \leq M$. We find that the portions of parameter space with observation angle $\theta \gtrsim 45^\circ \, (70^\circ)$ for dimensionless rotational parameter $a_* \gtrsim 0.95 \, (0.90)$ respectively are excluded.

We then tested the more exotic ``superspinar'' scenario. Even if the Kerr bound is violated, quantum gravity effects might prevent the appearance of a naked singularity by replacing the singularity with a larger object on a scale $R_{\rm ss}$.  First we studied the specific case of observation angle $\theta_{\rm obs} = 17^{\circ}$, the angle of the jet~\cite{Mertens:2016rhi}. From the requirement on the size and circularity of the superspinar shadow, we found that within the portion of the parameter space hatched in green in Fig.~\ref{fig:superspinnarexclusion} we cannot exclude the possibility that M87* might be a superspinar. Then we studied the case of arbitrary observation angle, with results shown in Fig.~\ref{fig:superspinnarexclusionTheta}. For the specific case of $a_*=1.1$, we find that the inferred circularity of the shadow alone requires that for $R_{\rm ss}/M \lesssim 0.1$, any angle larger than $\theta_{\rm obs} \gtrsim 35^{\circ}$ is excluded. From the combination of limits on the circularity and size of the shadow, again for the case $a_*=1.1$, we find that a superspinar with $1 \lesssim R_{\rm ss}/M \lesssim 5$ at low observation angles is allowed as a possible candidate for M87*.  Our main conclusion is that superspinars with dimensionless spin parameter $a_*>1$ are possible explanations for M87*.

The remarkable image from the Event Horizon Telescope allows for tests of fundamental physics from the observation of the dark shadow of M87*.~\footnote{See also~\cite{Kumar:2018ple,Giddings:2019jwy,Moffat:2019uxp,Nokhrina:2019sxv,
Abdikamalov:2019ztb,Held:2019xde,Wei:2019pjf,Tamburini:2019vrf,Davoudiasl:2019nlo,
Cunha:2019dwb,Ovgun:2019yor,Wang:2019tjc,Hui:2019aqm,Konoplya:2019sns,Nemmen:2019idv,
Chen:2019fsq,Gyulchev:2019tvk,Shaikh:2019jfr,Firouzjaee:2019aij,Konoplya:2019nzp,
Contreras:2019nih,Kumaran:2019qqp,Bar:2019pnz,Jusufi:2019nrn,Vagnozzi:2019apd,
Banerjee:2019cjk,
Roy:2019esk,Ali:2019khp,Zhu:2019ura,Contreras:2019cmf,Qi:2019zdk,Jusufi:2019rcw,
Konoplya:2019goy} for other works in this direction. In particular, by measuring the vorticity in the radio emission around M87*, the work of~\cite{Tamburini:2019vrf} determines that $\theta_{\rm obs}=17^{\circ}$ and $a_* \sim 0.9 \pm 0.1$. For this point in parameter space we find that $\Delta C \approx 1\%$ (see Fig.~\ref{fig:kerrexclusion}), consistent with the inferred circularity of M87*.} We look forward to improvements in VLBI technologies, allowing for space-based interferometry or observations on smaller wavelengths (and hence higher resolution) which would allow more thorough tests of the scenarios we have considered. At any rate, there is no doubt that future images of BH shadows will provide exciting tests for fundamental physics and exotic objects which might shed light on physics operating at energy scales we can only ever dream of reaching on Earth.

{\it Acknowledgments ---} C.B. acknowledges support by the Innovation Program of the Shanghai Municipal Education Commission, Grant No.~2019-01-07-00-07-E00035,  and Fudan University, Grant No. IDH1512060. K.F., S.V., and L.V. acknowledge support by the Vetenskapsr\r{a}det (Swedish Research Council) through contract No. 638-2013-8993 and the Oskar Klein Centre for Cosmoparticle Physics. K.F. acknowledges support from DoE grant de-sc0007859 at the University of Michigan as well as support from the Leinweber Center for Theoretical Physics. S.V. acknowledges support from the Isaac Newton Trust and the Kavli Foundation through a Newton-Kavli fellowship, and thanks the University of Michigan, where part of this work was conducted, for hospitality. L.V. thanks Barry University, the University of Florida, and the University of Michigan, where part of this work was conducted, for hospitality.

\bibliographystyle{JHEP}


\section{Introduction}

	A reliable localization is crucial for autonomous systems like self-driving cars or mobile robots.
	While global navigation satellite systems (GNSS) can provide this information for open-field scenarios, their accuracy and consistency is decreased in urban areas.
	The reason are signal reflections on tall buildings, which cause non-line-of-sight (NLOS) measurements.
	Recent publications like \cite{Hsu2017} demonstrated the non-Gaussian characteristic of the resulting error distributions.
	Therefore, a lot of effort has already been invested to make GNSS more robust against NLOS effects \cite{Bressler2016, Zhu2018}.

	One approach to reduce the influence of these errors, is to incorporate knowledge about their true distribution into the state estimation process.
	With robust factor graph optimization, there already is a class of algorithms that allows to include such distributions either in a predefined \cite{Olson2012, Rosen2013} or self-tuning \cite{Pfeifer2018,Pfeifer2019,Watson2018a} way.
	To describe the non-Gaussian errors, Gaussian mixture models (GMM) are the established state-of-the-art.
	However, existing approaches are not able to fully adapt the GMM during the online estimation process.
	Therefore, they do not address applications where the error characteristic changes significantly over time.
	For GNSS this can easily happen, since the NLOS error depends on the receiver's surrounding.

	Based on our recently published Adaptive Mixture algorithm \cite{Pfeifer2019}, we want to introduce a novel approach that combines variational Bayesian inference \cite{Corduneanu2001} with non-linear graph optimization to achieve an even better robustness and accuracy.
	Due to an incremental construction of the GMM, we preserve the real-time capability of the original approach and eliminate existing drawbacks.

	Since the proposed algorithm is the result of an incremental research process, we want to give an overview over prior work in \autoref{sec:prior}.
	How GNSS localization and Gaussian mixtures are connected to graph based optimization is explained in \autoref{sec:GNSS}, while \autoref{sec:Mixture} gives an overview about the algorithms that are used to estimate Gaussian mixtures from data.
	Then we combine these techniques to the proposed Incremental Variational Mixture approach in \autoref{sec:Complexity} before we evaluate it in \autoref{sec:Eval} using several real world GNSS datasets and finally conclude.

	\begin{figure}
		\centering
		\includegraphics[width=\linewidth]{img/Concept}
		\caption
		{
			The combination of Bayesian inference and factor graph optimization allows robust state estimation even if the true error distribution is unknown.
			Our approach incrementally learns the non-Gaussian error distribution simultaneously to the state estimation process.
		}
		\label{fig:Concept}
	\end{figure}

	\section{Prior Work}\label{sec:prior}

	Several recently published algorithms try to solve the problem of non-Gaussian sensor fusion in different ways.
	From our point of view, they can be separated by two properties of their error models: If they are using static or dynamic ones and whether the models are Gaussian or not.
	We summarize existing work in \autoref{tab:prior-work}, categorized by the error model's properties.
	For example, the standard least squares approach \cite{Dellaert2017} is a static Gaussian method since it uses a Gaussian error model that is predefined.

	\begin{table}[tbph]
		\centering
		\caption{Robust Factor Graph Algorithms categorized regarding the applied Error Model}
		\label{tab:prior-work}
		\begin{tabular}{@{}l|c|c@{}}
			\toprule
			\textbf{Error Model} & \multicolumn{1}{c|}{\textbf{Static}} & \multicolumn{1}{c}{\textbf{Dynamic}} \\ \midrule
			\textbf{Gaussian} & Standard Factor Graph & \begin{tabular}[c]{@{}c@{}}SC \cite{Suenderhauf2012a}\\ DCE \cite{Pfeifer2017}\end{tabular} \\ \midrule
			\textbf{Non-Gaussian} &
			\begin{tabular}[c]{@{}c@{}}
				DCS \cite{Agarwal2013} \\
				cDCE \cite{Pfeifer2017} 	\\
				Max-Mix. \cite{Olson2012} 	\\
				Sum-Mix. \cite{Rosen2013}
			\end{tabular} &
			\begin{tabular}[c]{@{}c@{}}
				Self-tuning M-Est. \cite{Agamennoni2015}	\\
				Self-tuning Mix. \cite{Pfeifer2018}			\\
				Adaptive Mix. \cite{Pfeifer2019}		\\
				Batch Cov. Est. \cite{Watson2018a}
			\end{tabular} \\
			\bottomrule
		\end{tabular}
	\end{table}

	With Switchable Constraints (SC) \cite{Suenderhauf2012a} and it's modification Dynamic Covariance Estimation (DCE) \cite{Pfeifer2017} exist two algorithms that implement Gaussian but dynamic error models.
	While SC introduces tunable weights for each Gaussian, DCE estimates the covariance of the distribution.
	Both are able to handle Gaussian distributions with outliers but tend to fail for heavily multimodal distributions that can occur when GNSS is used in urban canyons.

	A common robust method, not only in optimization, is the application of predefined non-Gaussian weight functions, so called M-estimators.
	These static non-Gaussian methods include not only the well-known Huber or Tukey estimators but also techniques like Dynamic Covariance Scaling (DCS) \cite{Agarwal2013} or the closed form of DCE (cDCE) \cite{Pfeifer2017}.
	Usually they come with a tuning parameter to adjust the trade-off between robustness and well-behaved convergence.
	Beside M-estimators, there are two approaches to include different distributions in the optimization problem.
	Max-Mixtures \cite{Olson2012} allows approximated inference over a Gaussian mixture by replacing the sum-operator by a max-operator.
	The work of Rosen \cite{Rosen2013} includes all kinds of continuous probability distributions including Gaussian mixtures.
	However, all methods with static error models require exact knowledge about the expected error distribution.
	For GNSS in changing environments, this information is often not available.

	Algorithms that apply non-Gaussian error models and estimate their parameter dynamically are a relatively new class of robust solutions to non-linear optimization.
	The authors of \cite{Agamennoni2015} were the first who described an algorithm that is capable to estimate the optimal parameter of a certain group of M-estimators, using adaptive importance sampling.
	Later in \cite{Pfeifer2018}, the parameters of a Gaussian mixture model (GMM) were optimized simultaneously during the estimation process.
	In recent work \cite{Pfeifer2019}, Expectation-Maximization (EM) was applied to estimate the GMM in a more reliable way.
	Also, \citeauthor{Wang2018} introduced a similar algorithm in the field of laser scan matching \cite{Wang2018}.
	They estimate a mixture of exponential power to describe the residuals of the point-to-point registration process.
	The prerequisite for this type of algorithms is the selection of a suitable model respectively its complexity.
	For GNSS applications this can be a limitation, since the complexity (e.g. the number of modes) can change with the environment over time.

	\citeauthor{Watson2018a} currently proposed a novel algorithm, based on the infinite Gaussian mixture model, which is adaptive regarding its number of components \cite{Watson2018a}.
	Since the applied Gibbs sampling is not real-time capable, the approach can only be applied to batch problems.
	For the GNSS localization of an autonomous system this is a harsh limitation, since it usually has to be solved in real time.
	Also, the algorithm applies one common model for the whole dataset, so it cannot address time dependent changes.

	While existing algorithms tune a predefined distribution to approximate the estimation error, we want to go one step further and learn its structure and parametrization online.
	Therefore, we want to propose an algorithm that is able to exploit the changing complexity of the error distribution in urban scenarios.
	Compared to the most recent self-tuning mixtures algorithm \cite{Pfeifer2019}, our approach is novel in the following ways:
	\begin{enumerate}
		\item The proposed algorithm incrementally constructs a Gaussian mixture with a (theoretically) unlimited number of components.
		\item We are able to remove unused Gaussian components to preserve real-time capability.
		\item To ensure a numerically stable solution, we apply variational Bayesian inference instead of Expectation-Maximization to estimate the GMM.
	\end{enumerate}
	With this combination of techniques, we propose the first real-time capable sensor fusion algorithm, that is able to learn the complexity and parametrization of the measurement's error distribution over time.

	\section{GNSS Localization as Factor Graph}\label{sec:GNSS}

	In the following section, we want to give a brief overview how the GNSS problem can be described as factor graph and how non-Gaussian error distributions can be represented.
	Factor graphs, a graphical representation of least squares problems, are wildly used in robotics.
	Therefore, we assume basic knowledge about their theoretical properties and refer readers to \cite{Dellaert2017} for a more detailed introduction.

	\subsection{Factor graphs and Least Squares}

	The GNSS localization of a moving system can be described as optimization problem \autoref{eqn:max-like}, where $\vect{Z}$ is a set of pseudorange and odometry measurements and $\vect{X}$ is the set of estimated states including the vehicle's position.
	$\opt{\vect{X}}$ is the most likely set of states according to the set of measurements.
	By applying the Bayes theorem, it can be written as maximum a posteriori (MAP) problem \autoref{eqn:map} with $\vect{\est{X}}$ as MAP estimator of the true state variables.
	\begin{equation}
	\opt{\vect{X}} =\argmax_{\vect{X}} \vect{P}(\vect{X}|\vect{Z})
	\label{eqn:max-like}
	\end{equation}
	\begin{equation}
	\vect{\est{X}} =\argmax_{\vect{X}} \vect{P}(\vect{Z}|\vect{X}) \vect{P}(\vect{X})
	\label{eqn:map}
	\end{equation}

	At each time step $t$, one odometry measurement $\measurementOf{odo}{t}$ and multiple pseudorange measurements $\measurementOf{pr}{t,i}$, each corresponding to the $i\text{th}$ satellite, are available.
	The set of state variables can be separated in two subsets that consist of the 3D pose $\stateOf{x,y,z,\phi}{t}$ and the GNSS specific clock error state $\stateOf{\delta,\dot{\delta}}{t}$.
	The Cartesian coordinates $x,y,z$ are in the earth-centered-earth-fixed (ECEF) frame, while $\phi$ denotes the rotation around the vehicles upright axis.
	The clock error $\delta$ and its derivation $\dot{\delta}$ are required for the constant clock error drift model (CCED).
	By assuming uninformative priors, $\vect{P}(\vect{X})$ can be omitted and the posterior likelihood is expanded to \autoref{eqn:posterior}.
	A detailed explanation of these error terms can be found in \cite{Pfeifer2018}.
	\autoref{fig:FG-GNSS} shows a small example of the corresponding factor graph.
	\begin{equation}
	\begin{split}
	\vect{P}(\vect{Z}|\vect{X}) \propto
	&\prod_t
	\left[
	\prod_{i}
	\vect{P}(\measurementOf{pr}{t,i}|\stateOf{x,y,z,\delta}{t})
	\right]\\
	\cdot
	&\prod_t
	\vect{P}(\measurementOf{odo}{t}|\stateOf{x,y,z,\phi}{t+1},\stateOf{x,y,z,\phi}{t})\\
	\cdot
	&\prod_t
	\vect{P}(\stateOf{\delta,\dot{\delta}}{t+1}|\stateOf{\delta,\dot{\delta}}{t})
	\end{split}
	\label{eqn:posterior}
	\end{equation}
	\begin{figure}
		\centering
		\includegraphics[width=\linewidth]{img/FG-GNSS}
		\caption{
			Factor graph model of the GNSS localization problem.
			Big circles represent the estimated state variables and small colored dots the error functions which are factors of \autoref{eqn:posterior}.
			The pseudorange factors suffer from non-Gaussian NLOS errors, therefore robust error models have to be applied.}
		\label{fig:FG-GNSS}
	\end{figure}

	Instead of maximizing the likelihood \autoref{eqn:map} directly, $\vect{\est{X}}$ is usually estimated by minimizing the negative log likelihood:
	\begin{equation}
	\vect{\est{X}} = \argmin_{\vect{X}} \sum_{n} -\ln(\vect{P}(\vect{z}_n|\vect{x}_n))
	\label{eqn:log_like}
	\end{equation}
	One common index $n$ is used for all factors here.
	By defining $\vect{P}(\vect{Z}|\vect{X})$ as normal distribution $\mathcal{N}({\boldsymbol{\mu}}_n,\boldsymbol{\mathcal{I}}_n)$ over the non-linear error function $\vect{e}_n = f(\vect{x}_n,\vect{z}_n)$ with mean ${\boldsymbol{\mu}}_n$ and information matrix $\boldsymbol{\mathcal{I}}_n$, the problem can be formulated as non-linear least squares estimation:
	\begin{equation}
	\vect{\est{X}} = \argmin_{\vect{X}} \sum_{n} \frac{1}{2} \left\| \sqrtinfoOf{n} \left( \vect{e}_n - {\boldsymbol{\mu}}_n \right) \right\| ^2
	\label{eqn:least_squares}
	\end{equation}
	As already mentioned, the Gaussian assumption does not apply to all GNSS measurements.
	Therefore, a reliable state estimation requires more advanced distributions.

	\subsection{Factor Graphs and Gaussian Mixtures}
	Since empirical sensor distribution can be asymmetric or even multimodal, a class of distributions is required that is able to represent these properties.
	For this work we choose GMMs, because they fulfill this condition and have several positive properties regarding their application in autonomous systems \cite{Rosen2013a}.
	To apply them to a least squares problem, we use a solution proposed in \cite{Rosen2013} that allows almost arbitrary non-Gaussian distributions $\vect{P}(\vect{z}_n|\vect{x}_n)$, using the following:
	\begin{equation}
	\vect{\est{X}} = \argmin_{\vect{X}} \sum_{n}
	\left\|
	\sqrt
	{
		-\ln \left(
		\frac{\vect{P}(\vect{z}_n|\vect{x}_n)}{\gamma}
		\right)
	}
	\right\| ^2
	\label{eqn:sum_mix}
	\end{equation}
	The normalization constant $\gamma$ ensures a numerically stable solution.
	We reference the approach as Sum-Mixture (SM) in difference to Max-Mixture of \cite{Olson2012}, which only approximates a GMM.
	In this work, a $K\text{-component}$ Gaussian mixture defined by \autoref{eqn:gaussian_mixture} is used to describe the pseudorange error $\errorOf{pr}{t,i} = f(\stateOf{x,y,z,\delta}{t}, \measurementOf{pr}{t,i})$.
	Each Gaussian component $k$ is scaled with a normalized weight $w_k$.
	\begin{equation}
	\errorOf{pr}{t,i} \sim \sum_{k=1}^{K} w_k\cdot\mathcal{N}({\boldsymbol{\mu}}_k,\boldsymbol{\mathcal{I}}_k) \text{ with } \sum_{k=1}^{K} w_k = 1
	\label{eqn:gaussian_mixture}
	\end{equation}
	Since our approach is not limited to the pseudorange error, we use the generic error $\vect{e}$ instead of $\errorOf{pr}{t,i}$ for the following equations.

	The likelihood of the GMM is defined by:
	\begin{equation}
	\begin{split}
	\vect{P}(\vect{z}_n|\vect{x}_n) =&
	\sum_{k}{ c_k \cdot \exp \left( -\frac{1}{2} \left\| \sqrtinfoOf{k} \left( \vect{e} - {\boldsymbol{\mu}}_k \right) \right\| ^2 \right)}\\
	\text{with }c_k =& w_k \cdot \det\left( \sqrtinfoOf{k} \right)
	\end{split}
	\label{eqn:gaussian_mixture_prob}
	\end{equation}
	Therefor, the normalization constant can be set to $\gamma = \sum_{k} c_k$.
	For a more detailed derivation of these equations we want tor refer the reader to the original work \cite{Rosen2013} and to \cite{Pfeifer2019} for its application to GMMs.

	\section{Mixture Model Estimation}\label{sec:Mixture}
	As shown in prior work \cite{Agamennoni2015,Watson2018a,Pfeifer2019}, the residual $\vect{e}(\vect{x},\vect{z})$ of the estimation problem can be used to get an approximation of the measurement's true distribution.
	To describe the measurement error with a $K$-component Gaussian mixture model, the GMM's parameters $\boldsymbol{\theta} = \left\lbrace w,{\boldsymbol{\mu}},\boldsymbol{\mathcal{I}} \right\rbrace $ have to be estimated with \autoref{eqn:max-posteriori} from $N$ samples of $\vect{e}$.
	\begin{equation}
	\opt{\Params} = \argmax_{\boldsymbol{\theta}} \vect{P} (\boldsymbol{\theta}|\vect{e})
	\label{eqn:max-posteriori}
	\end{equation}
	The set of parameters $\boldsymbol{\theta}$ includes a weight $w_k$, mean ${\boldsymbol{\mu}}_k$ and information matrix $\boldsymbol{\mathcal{I}}_k$ for each component $k$ of $K$.
	Since the probability that measurement $n$ belongs to component $k$ is not known, the corresponding hidden parameter $\boldsymbol{s} = \left\lbrace s_{kn} \right\rbrace $ have to be included in the estimation problem.
	The directed graphs of two possible interpretations are shown in \autoref{fig:GMM} and explained in the following subsections.

	\begin{table}[tbph]
		\centering
		\caption{Legend of \autoref{fig:GMM}}
		\label{tab:legend}
		\begin{tabular}{@{}cl@{}}
			\toprule
			\textbf{Symbol}  & \textbf{Name}              \\ \midrule
			$ \boldsymbol{\mathcal{I}} $   & Information Matrix of the GMM Components \\
			$ {\boldsymbol{\mu}} $   & Mean of the GMM Components        \\
			$ w $   & Weight of the GMM Components       \\
			$ \vect{e} $   & Measurement Error            \\
			$ \boldsymbol{s} $ & Hidden Variable             \\
			$ \nu $    & Wishart Degree of Freedom        \\
			$ \boldsymbol{V} $ & Wishart Scale Matrix           \\
			$ \beta $   & Information Matrix Scaling        \\
			$N$     & Number of Measurements          \\ \bottomrule
		\end{tabular}
	\end{table}
	\begin{figure}
		\centering
		\begin{subfigure}[t]{0.4\linewidth}
			\centering
			\includegraphics[height=3.1cm]{GMM_Graph}
			\caption{}
			\label{fig:GMM_EM}
		\end{subfigure}
		\hskip 10pt
		\begin{subfigure}[t]{0.52\linewidth}
			\centering
			\includegraphics[height=3.1cm]{GMM_Graph_Bayesian}
			\caption{}
			\label{fig:GMM_VBI}
		\end{subfigure}
		\caption
		{
			Directed graphs in plate notation of the maximum-likelihood (a) and the Bayesian (b) interpretation of a Gaussian mixture.
			The circles mark hidden random variables and the double circles the observed ones.
			Unmarked letters are parameters of the corresponding model.
			A legend is provided by \autoref{tab:legend}.
		}
		\label{fig:GMM}
	\end{figure}

	\subsection{Expectation Maximization}\label{ssec:EM}
	One interpretation, shown in \autoref{fig:GMM_EM}, is to treat $\boldsymbol{\theta}$ as parameters and describe the estimation as maximum-likelihood problem:
	\begin{equation}
	\begin{split}
	&\opt{\Params} = \argmax_{\boldsymbol{\theta}} \vect{P} (\vect{e}|\boldsymbol{\theta}) \\
	\text{with } &\vect{P} (\vect{e}|\boldsymbol{\theta}) = \int \vect{P}(\vect{e}, \boldsymbol{s}|\boldsymbol{\theta}) \mathrm{d}\boldsymbol{s}
	\end{split}
	\label{eqn:em}
	\end{equation}
	Since the integral is intractable, the iterative Expectation-Maximization (EM) algorithm \cite{Dempster1977} splits the problem into two subproblems:
	The E-step estimates the hidden variable $\boldsymbol{s}$ based on an initial guess of $\boldsymbol{\theta}$.
	The M-step estimates the maximum likely set of parameters $\boldsymbol{\theta}$ based on the hidden variables that were estimated before.
	As demonstrated in \cite{Pfeifer2019}, the EM can be applied in an alternating sequence with the least squares optimization of the original state estimation problem \autoref{eqn:max-like}.
	On the downside, the choice of the parameter $K$ is not trivial because it depends on the complexity of the true distribution of $\vect{e}$.
	While a too small $K$ results in less robustness, a too large number of components leads to numerical instabilities.
	These instabilities can occur, if only a few samples are responsible for a specific component.
	There exists a variety of EM derivations that aim to overcome this limitation like the greedy EM \cite{Vlassis2002} or the split and merge EM \cite{Ueda2000}, but their parametrization can be even more difficult.
	Even a simple merging criterion is not easy to chose, as the author of \cite{Hennig2010} demonstrates.

	\subsection{Bayesian Methods}\label{ssec:bayes}
	A fully Bayesian interpretation of the GMM optimization \autoref{eqn:max-posteriori}, treats the distribution parameters $\boldsymbol{\theta}$ as random variables with corresponding distributions.
	After adding a set of priors $\vect{P}(\boldsymbol{\theta})$, the estimation problem can be written as:
	\begin{equation}
	\opt{\Params} =\argmax_{\boldsymbol{\theta}} \frac{\vect{P}(\vect{e}|\boldsymbol{\theta}) \vect{P}(\boldsymbol{\theta})}{\int \vect{P}(\vect{e}|\boldsymbol{\theta}) \vect{P}(\boldsymbol{\theta}) \mathrm{d}\boldsymbol{\theta}}
	\label{eqn:gmm_bayes}
	\end{equation}
	There exist different suggestions for the choice of this priors.
	In difference to the more common model used in \cite{Blei2006, Rosen2013a, Watson2018a} or \cite[p.475]{Bishop2006}, we follow the suggestion of the authors of \cite{Corduneanu2001} and omit the Dirichlet prior of the mixture's weight $w$.
	\autoref{fig:GMM_VBI} shows the corresponding graph with the remaining Wishart prior \autoref{eqn:info_prior} for the information matrix and the normal prior \autoref{eqn:mean_prior} for the mean of the GMM.
	The matrix $\identity$ is the identity matrix here.
	\begin{equation}
	{\boldsymbol{\mu}} \sim \mathcal{N}(0,\beta_0 \identity)
	\label{eqn:mean_prior}
	\end{equation}
	\begin{equation}
	\boldsymbol{\mathcal{I}} \sim \mathcal{W}(\priorV,\priorNu)
	\label{eqn:info_prior}
	\end{equation}
	To omit the prior of $w$ comes with two advantages, one obvious is the reduced number of hyperparameters which makes the algorithm easier to apply.
	The other one is the possibility to reduce weights to zero, which allows us to remove unused components from the model.
	Since the integral in \autoref{eqn:gmm_bayes} can not be calculated directly, approximate solutions like Markov Chain Monte Carlo (MCMC) methods or variational Bayesian inference (VBI) have to be applied.
	MCMC algorithms, such as Gibbs sampling \cite{Geman1984} used in \cite{Rosen2013a} and \cite{Watson2018a}, approximate the integral over the set of parameters $\boldsymbol{\theta}$ by generating many samples of them from their estimated distribution.
	This process is computationally expensive and therefor rather unsuitable for real-time applications, which leads us to variational inference.

	The key idea of VBI is to approximate the posterior $\vect{P}(\boldsymbol{\theta}|\vect{e})$ with a distribution $\probVBI(\boldsymbol{\theta})$.
	\begin{equation}
	\vect{P}(\boldsymbol{\theta}|\vect{e}) \approx \probVBI(\boldsymbol{\theta})
	\label{eqn:vbi}
	\end{equation}
	To find the distributions over all hidden variables $\boldsymbol{\theta}$, it is assumed that they can be partitioned in $j$ independent groups $\left\lbrace \boldsymbol{\theta}_j \right\rbrace$.
	According to these groups, $\probVBI(\boldsymbol{\theta})$ can be factorized, as shown in \autoref{eqn:vbi_2}, and each factor $\probVBI_{j}(\boldsymbol{\theta}_j)$ can be estimated separately.
	For the model proposed in \cite{Corduneanu2001}, the groups are mean ${\boldsymbol{\mu}}$, information matrix $\boldsymbol{\mathcal{I}}$ and the correspondence variable $\boldsymbol{s}$.
	\begin{equation}
	\probVBI(\boldsymbol{\theta}) = \prod_{j} \probVBI_{j}(\boldsymbol{\theta}_j) = \probVBI_{\boldsymbol{\mathcal{I}}} (\boldsymbol{\mathcal{I}}) \probVBI_{{\boldsymbol{\mu}}} ({\boldsymbol{\mu}})\probVBI_{\boldsymbol{s}} (\boldsymbol{s})
	\label{eqn:vbi_2}
	\end{equation}
	Since we use exactly the same model that is proposed in \cite{Corduneanu2001}, we refer interested readers to the original work.
	For a more gentle introduction we can also recommend the tutorial paper \cite{Tzikas2008}.

	Nevertheless, there are still some drawbacks of Bayesian inference in general and of the concrete VBI solution.
	Bayesian estimators require a set of predefined priors to represent the knowledge that is available in advance.
	If there is little to no prior knowledge about the estimated parameters, it can be hard to specify meaningful priors.
	This work can not provide a general solution for this problem, but we try to find a good trade-off between uninformative priors and prior knowledge that exists about NLOS errors.
	Variational inference require a predefined number of Gaussian components similar to the maximum-likelihood approach.
	However, our approach is robust against an exaggerated number of components, since the weight of unused ones drops to zero without causing singularities.

	As a last statement of this section, we want to emphasize that to our knowledge no ``best'' algorithm exists to estimate a Gaussian mixture from empirical data.
	Nevertheless, VBI seems to be well suited for the problem we want to address.

	\section{Learning Complexity Online}\label{sec:Complexity}

	In this section, we describe the complete algorithm which is composed of robust factor graph optimization and variational Bayesian inference.
	The factor graph applies the GMM to robustly estimate the system's state and the VBI estimates the mixtures based on the empirical distribution of the sensor.
	An overview of the general approach is given by \autoref{fig:Concept} on the first page and an algorithmic description is provided with \autoref{alg:complexity-learning} and \autoref{alg:adpative-mixture}.

	As explained in \cite{Pfeifer2019} the estimation problem \autoref{eqn:em-se} can be described as EM algorithm with the set of measurements $\vect{Z}$ as observed variable and the parameters of the mixture model $\boldsymbol{\theta}$ as hidden ones.
	\begin{equation}
	\begin{split}
	&\vect{\est{X}} = \argmax_{\vect{X}} \vect{P} (\vect{X}|\vect{Z}) \\
	\text{with } &\vect{P} (\vect{X}|\vect{Z}) = \int \vect{P}(\vect{X}, \boldsymbol{\theta}|\vect{Z}) \mathrm{d}\boldsymbol{\boldsymbol{\theta}}
	\end{split}
	\label{eqn:em-se}
	\end{equation}
	Again, the intractable integral is solved by alternately estimating the expected value of the hidden parameters $\boldsymbol{\theta}$ (E-step) and the state variables (M-step).
	Since the problem is formulated as sliding window estimation, one iteration per time step is enough to achieve good convergence.

	In the E-step, the posterior probability of $\boldsymbol{\theta}$ is calculated with VBI based on a previously determined MAP estimate of the error $\vect{\est{e}}$:
	\begin{equation}
	\boldsymbol{\est{\theta}} = \argmax_{\boldsymbol{\theta}} \vect{P} (\boldsymbol{\theta}|\vect{\est{e}}_{t-1})
	\label{eqn:Estep}
	\end{equation}
	The desired expected value $\Expected (\boldsymbol{\est{\theta}}_{t})$ is computed during the variational inference.
	Again, further details are available in \cite{Corduneanu2001}.

	The M-step uses the estimated distribution parameter $\Expected (\boldsymbol{\est{\theta}}_{t})$ and applies it to the least squares optimization according to the Sum-Mixture formulation \autoref{eqn:sum_mix}.
	After the optimization, the non-linear error function $\vect{e}$ can be used to get a MAP estimate of the error $\vect{e}$ as shown in:
	\begin{equation}
	\vect{\est{X}}_t =\argmax_{\vect{X}} \vect{P}(\vect{X}|\vect{Z}_t, \Expected (\ParamsEst_t))
	\label{eqn:Mstep}
	\end{equation}
	\begin{equation}
	\vect{\est{e}}_t = \vect{e}(\vect{\est{X}}_t,\vect{Z}_t)
	\label{eqn:error-map}
	\end{equation}
	The complete procedure is described with \autoref{alg:adpative-mixture}.

	To adapt the mixture's number of components $K$ to the complexity of the empirical distribution, we add one new component in each time step, starting with $K = 2$ at $t = 0$.
	This leads to a fast rising number of components.
	However, through the variational inference, the weight of unused components drops to zero.
	Therefore, components with a weight below a predefined threshold $w_{min}$ can be removed.
	We set this pruning threshold to $\nicefrac{1}{N}$ with $N$ as the number of measurements.
	Each added component is initialized according to its prior distribution with zero mean $\mu_0 = 0$ and the information matrix $\boldsymbol{\mathcal{I}}_0 = \priorNu \priorVinverse$.
	With this simple approach, we are able to choose the right number of components just by ``saturating'' the mixture with components.
	Since the saturation point depends on the parametrization of the Gauss and Wishart prior, a careful parametrization is essential for a good performance.

	To ensure real time capability even for critical applications, we specify an optional upper limit $K_{max}$ for the number of components.
	If this limit is exceeded, the component with the lowest weight is removed before a new one is added.
	The online complexity learning is described by \autoref{alg:complexity-learning}.

	\begin{algorithm}[tbph]
		\SetAlgoLined
		\KwData{$\vect{\est{e}}_t$, $\ParamsEst_{t-1}$}
		\KwResult{$\ParamsEst_t$}

		\Begin(Initialization of $\ParamsEst_t$)
		{
			$\ParamsEst_t$ = $\ParamsEst_{t-1}$\;

			\If{$K \geq K_{max}$}
			{
				Remove the smallest component from $\ParamsEst_t$\;
			}

			Add new component to $\ParamsEst_t$\;
		}

		\Begin(Estimation of $\ParamsEst_t$)
		{
			\Repeat{$i > i_{max}$ or $\Delta L < \Delta L_{min}$}
			{
				Perform one iteration of VBI \cite{Corduneanu2001}\;

				\If{any $w_k < w_{min}$}
				{
					Remove component k from $\ParamsEst_t$\;
				}

				Increment iteration count $i$\;

				Compute relative likelihood $\Delta L$\;
			}
		}
		\caption{Complexity Learning (CL)}
		\label{alg:complexity-learning}
	\end{algorithm}

	\begin{algorithm}[tbph]
		\SetAlgoLined
		\KwData{$\vect{Z}$}
		\KwResult{$\vect{\est{X}}$}

		Initially estimate $\vect{\est{X}}_{t=0}$ with \autoref{eqn:least_squares}\;

		Perform \autoref{alg:complexity-learning} twice to get $\boldsymbol{\est{\theta}}_{t=0}$\;

		\ForEach{time step $t$}
		{
			Add $\vect{z}_t$, $\vect{x}_t$ to $\vect{P}(\vect{Z}|\vect{X})$\;

			Remove $\vect{z}$, $\vect{x}$ older than \SI{60}{\second} from $\vect{P}(\vect{Z}|\vect{X})$\;

			Calculate $\vect{\est{e}}_t$\;

			Perform \autoref{alg:complexity-learning} to get $\ParamsEst_t$\;

			Update $\vect{P}(\vect{Z}|\vect{X})$ with $\ParamsEst_t$\;

			Estimate $\vect{\est{X}}_t$ by optimizing $\vect{P}(\vect{Z}|\vect{X})$\;

		}

		\caption{Incremental Variational Mixture (IVM)}
		\label{alg:adpative-mixture}
	\end{algorithm}

	\section{Evaluation}\label{sec:Eval}
	\begin{table*}[tbph]
		\centering
		\caption{Accuracy and Runtime of the Final Evaluation.}
		\label{tab:result}
		\setlength\tabcolsep{6pt}
		\begin{tabular}{@{}lllllllllll@{}}
			\toprule
			& \multicolumn{2}{c}{Chemnitz} & \multicolumn{2}{c}{Berlin PP} & \multicolumn{2}{c}{Berlin GM} & \multicolumn{2}{c}{Frankfurt MT} & \multicolumn{2}{c}{Frankfurt WT} \\
			\multirow{-2}{*}{Algorithm} & ATE [m] & Time [s] & ATE [m] & Time [s] & ATE [m] & Time [s] & ATE [m] & Time [s] & ATE [m] & Time [s] \\ \midrule
			Gaussian & 30.0 & 58.6 & 29.2 & 9.5 & 13.38 & 49.7 & 30.97 & 58.1 & 23.54 & 31.9 \\
			DCS \cite{Agarwal2013}& 4.403 & 54.9 & 25.04 & 14.7 & 19.11 & 64.5 & 13.25 & 69.5 & 11.39 & 35.2 \\
			cDCE \cite{Pfeifer2017} & 4.326 & 54.5 & 17.91 & 14.3 & 14.59 & 65.3 & 14.93 & 73.6 & 11.12 & 34.9 \\
			SM+EM \cite{Pfeifer2019} & \bestResult{2.378} & 102.0 & 12.45 & 39.8 & 13.88 & 163.0 & 10.72 & 136.0 & 6.42 & 76.5 \\
			SM+VBI & 3.106 & 119.0 & 12.4 & 33.3 & 13.55 & 186.0 & 11.23 & 131.0 & \bestResult{4.117} & 84.4 \\
			SM+EM+CL & 6.723 & 172.0 & 12.23 & 45.0 & 13.37 & 312.0 & 10.41 & 214.0 & 9.706 & 152.0 \\
			IVM (SM+VBI+CL) & 2.48 & 122.0 & \bestResult{11.56} & 59.4 & \bestResult{10.99} & 352.0 & \bestResult{8.586} & 248.0 & 4.626 & 146.0 \\
			\bottomrule
		\end{tabular}
	\end{table*}
	\begin{figure*}[tbph]
		\centering
		\includegraphics[width=\linewidth]{img/Trajectory_IV}
		\caption{Resulting UTM trajectories of the non-robust factor graph (red) and the proposed Incremental Variational Mixture algorithm (green). The distortions caused by NLOS are significantly reduced.}
		\label{fig:trajectoryiv}
	\end{figure*}

	In this section, we demonstrate the performance of the proposed Incremental Variational Mixture (IVM) algorithm on several real world GNSS datasets.
	The resulting trajectories are shown in \autoref{fig:trajectoryiv}.
	We do not only compare against the robust state-of-the-art approaches DCS \cite{Agarwal2013} and cDEC \cite{Pfeifer2017} but also show the impact of VBI and the proposed Complexity Learning (CL) mechanism.
	Beside a comparison based on position error metrics, we want to demonstrate the sensitivity of our approach to its parametrization, which is important for practical applications.
	To proof the performance under real time conditions, we perform the estimation under online conditions.
	This means, results are calculated and stored without information from future measurements.

	\subsection{The Datasets}
	We use five different datasets, that consist of raw pseudorange measurements from a mass market receiver and wheel odometry from measurement vehicle.
	These datasets are collected in different urban areas in Germany and have an accumulated length of \SI{18.6}{\kilo\meter} respectively \SI{92}{\minute}.
	A precise ground truth is provided by a combination of differential GNSS and a tactical grade inertial measurement unit.
	Technical details are published in \cite{Reisdorf2016} and the datasets themselves are available online \footnote{\url{http://mytuc.org/GNSS}}.

	\subsection{Parametrization}
	Since the choice of parameters has a significant impact on the performance of the proposed algorithms, we want to explain them clearly.
	The noise parameters of the factor graph are identical to our previous work, therefore we want to refer to \cite{Pfeifer2019} for detailed information.
	\begin{table}[htbp]
		\centering
		\caption{Parameters of the Incremental Variational Mixture Algorithm}
		\label{tab:params_vbi}
		\begin{tabular}{@{}llc@{}l}
			\toprule
			\textbf{Parameter Name}         & \textbf{Symbol}  &                 \textbf{Value}                  &  \\ \midrule
			Wishart Prior Degree of Freedom & $\priorNu$       &                        2                        &  \\ \midrule
			Wishart Prior Scale Matrix      & $\priorV$        & $\nicefrac{\var\left( \vect{\est{e}} \right) }{\nu}$ &  \\ \midrule
			Normal Prior Information Matrix & $\beta_0$        &         $\SI{e-6}{\per\meter\squared}$          &  \\ \midrule
			Pruning Threshold               & $w_{min}$  &                $\nicefrac{1}{N}$                &  \\ \midrule
			Max. Iterations                 & $i_{max}$        &                     $1000$                      &  \\ \midrule
			Min. $\Delta$Likelihood         & $\Delta L_{min}$ &                    $10^{-6}$                    &  \\ \midrule
			Max. Number of Components       & $K_{max}$        &                       $8$                       &  \\ \bottomrule
		\end{tabular}
	\end{table}

	To apply the variational inference, several parameters have to be specified that are summarized in \autoref{tab:params_vbi}.
	Not all of them are equally important, especially the convergence criteria and the pruning threshold $w_{min}$ have just a small impact on the overall performance.
	The optional maximum of Gaussian components $K_{max}$ is also easy to parametrize, it has to be high enough to reflect the worst case complexity of the empirical distribution.
	A value of $K_{max} = 8 \dots 12$ should be enough for all practical applications and if the algorithm is applied to a fully unknown problem, the limit can be omitted.
	The information matrix of the normal prior $\beta_0$ defines the initial uncertainty about each component's mean.
	Since NLOS errors over \SI{1}{\kilo\meter} are very unlikely, a value of $\beta_0 = \nicefrac{1}{(\SI{1}{\kilo\meter})^2}$ seems to be sufficient.

	More difficult is the parametrization of the Wishart prior $\mathcal{W}(\priorV,\priorNu)$.
	The scale matrix $\priorV$ in combination with the degree of freedom $\priorNu$ determines the expected information matrix of the estimated mixture components:
	\begin{equation}
	\Expected(\boldsymbol{\mathcal{I}}) = \priorNu \cdot \priorVinverse
	\label{eqn:wishart_v}
	\end{equation}
	A coarse guess of the information matrix can be estimated directly from the error $\vect{\est{e}}$ by calculating its variance.
	So, a meaningful prior can be defined with:
	\begin{equation}
	\priorV = \frac{\var(\vect{\est{e}})}{\priorNu}
	\label{eqn:wishart_v2}
	\end{equation}
	For the positive integer $\priorNu$, a straightforward approximation is not possible.
	The authors of the variational model \cite{Corduneanu2001} recommend an informative Wishart prior, which means value of $\priorNu = 1$ or at least close to 1.
	We evaluated the proposed algorithm with different values and visualized the localization error in \autoref{fig:ParamEval}.
	Therefore, we chose a prior with $\priorNu = 2$ to achieve the best performance over all datasets.
	The reason for the strong impact of $\priorNu$ to the overall result is the convergence of the VBI algorithm.
	An increased $\priorNu$ improves the convergence speed and increases the number of removed mixture components.
	With $\priorNu = 1$, the number of components over-fits the empirical distribution which leads to more local minima in the state estimation problem and therefor reduced accuracy.
	Although, the performance of different values of $\priorNu$ is not fully consistent over all datasets, the choice of $\priorNu = 2$ generalizes at least for the tested ones.
	The comparison to the EM based algorithm in \autoref{fig:ParamEval} shows that its fixed number of components $K$ also have to be chosen carefully.
	We set $K = 3$ for a fair comparison since it is the best choice over all datasets.

	\begin{figure}[tbp]
		\centering
		\includegraphics[width=\linewidth]{img/ParamEval_IV}
		\caption{
			Comparison between the Adaptive Mixture approach \cite{Pfeifer2019} and the proposed Incremental Variational Mixture (IVM) algorithm on all datasets.
			The solid black line shows the mean ATE for different choices of the number of mixture components.
			Each dotted line corresponds to a run of the IVM with a specific $\priorNu$.
			Since the number of components is variable here, we draw it as horizontal line.
			The comparison shows that IVM outperforms the other algorithm for a $\priorNu$ of 2.
		}
		\label{fig:ParamEval}
	\end{figure}

	\subsection{Implementation Details}
	We implemented the algorithm as part of our robust sensor fusion library libRSF\footnote{\url{http://mytuc.org/libRSF}}.
	The VBI algorithm will be published as open source in a future release.
	The non-linear least squares optimization is based on the Ceres solver \cite{Agarwal} and the GMM estimation is implemented in C++ using Eigen \cite{Guennebaud2010} without multi-threading.
	All tests were performed on a Intel i7-7700 system.

	\subsection{Results}
	Metric of our comparison is the absolute trajectory error (ATE).
	We define the ATE as euclidean distance between estimated trajectory and ground truth in the local XY-plane.
	\autoref{tab:result} summarizes the mean ATE as well as the runtime of the evaluated algorithms.
	Along with the proposed IVM, we compare different combinations of self-tuning algorithms.
	Common is the Sum-Mixture (SM) method to represent a GMM, but we differentiate between EM and VBI estimation and whether the proposed Complexity Learning (CL) is applied or not.
	Please notice that SM+EM equals the Adaptive Mixture approach from \cite{Pfeifer2019} and SM+VBI+CL is the proposed IVM algorithm.

	Both VBI and CL seem to have a positive influence regarding the localization accuracy.
	Although, only in combination, they are able to consistently reduce the ATE over all datasets.
	Therefore, we would prefer the proposed IVM for applications where a maximum precision is required.
	Drawback of the CL is increased runtime of the algorithm, nevertheless it is 5 times faster than the recording time of the datasets.

	If runtime is more important, we would tend to prefer the Adaptive Mixture (SM+EM) approach, since it offers a solid performance without the trouble of parameterizing the variational priors.

	The results of the M-estimators DCS and cDCE show improvements compared to the non-robust factor graph, but both fall behind the GMM based methods.

	\section{Conclusion}\label{sec:Conclusion}

	The proposed algorithmic approach, allows to apply least squares optimization to sensor fusion problems with non-Gaussian and time dependent error distributions like GNSS localization in urban environments.
	We not only adapt the parameters of the Gaussian mixture representation, we also learn the right number of components to represent its complexity.
	The applied variational Bayesian inference allows a numerically stable and real time capable solution.

	The comparison against several state-of-the-art algorithms were performed on a set of open access GNSS datasets that reflect the localization of an autonomous vehicle in an urban environment.
	Our approach demonstrated a superior estimation quality over the majority of datasets in combination with an increased but acceptable computation time.

	The described connection between state estimation and adaptive error models opens a wide field of possible future improvements.
	Since the parametrization of the variational priors is the most critical drawback currently, we will address it in future work.
	Variational Bayesian inference also offers further methods to adaptively split and merge Gaussian components which could be explored in this context.
	Finally, a broader evaluation on different domains like SLAM would be useful to validate the approach and the choice of parameters.

	\footnotesize
	\bibliographystyle{IEEEtranN}