## 2 Materials and Methods
### Inverse Problems by Markov Chain Monte Carlo
Simulated annealing [36] is a type of the Metropolis-Hastings MCMC algorithm in which the _temperature_\(\sigma_{\varepsilon}\) decreases during the simulation. The algorithm is summarized below as Algorithm 2. In this paper we consider two temperatures. ```
1. Set large \(\sigma_{\varepsilon}\) as a high temperature. 2. Generate \(a^{\prime}\sim q(\cdot|a_{k})=\mathcal{N}(a_{k},\varepsilon^{2})\) with \(\varepsilon>0\) for given \(a_{k}\). 3. Calculate \(\alpha(a^{\prime},a_{k})=\min\left\{1,\pi(a^{\prime}|\mathbf{U})/\pi(a_{k}| \mathbf{U})\right\}\). 4. Update \(a_{k}\) as \(a_{k+1}=a^{\prime}\) with probability \(\alpha(a^{\prime},a_{k})\) but otherwise set \(a_{k+1}=a_{k}\). 5. Continue while \(k\leq k_{b}\). 6. Then decrease \(\sigma_{\varepsilon}\) to a smaller value as a low temperature, and continue to update \(a_{k}\). ```  
**Algorithm 2**Two-temperature simulated annealing (SA)  
Now we propose an MCMC-iterative hybrid method by combining Algorithms 1 with the Metropolis-Hastings Markov chain Monte Carlo. We first run the Markov chain Monte Carlo. Although the Metropolis-Hastings MCMC eventually gives the correct solution after about 10,000 steps when the chain reaches the steady state, we stop the Monte Carlo simulation way before the burn-in time. At the \(k_{b}\)th Monte Carlo step after initial rapid changes ceases, we record the obtained reconstructed value \(a_{k_{b}}\) and switch to Algorithm 1 with the initial value the recorded \(a_{k_{b}}\). It is important that \(k_{b}\) is chosen after the initial rapid changes although \(k_{b}\) can be a significant way from the burn-intime. Otherwise, the final reconstructed results are quite robust against the choice of \(k_{b}\). We refer to the following hybrid algorithm as Algorithm 3. ```
1. Choose an initial guess \(a_{0}\), which is not necessarily close to the global minimum. 2. Generate \(a^{\prime}\sim q(\cdot|a_{k})=\mathcal{N}(a_{k},\epsilon^{2})\) with \(\epsilon>0\) for given \(a_{k}\). 3. Calculate \(\alpha(a^{\prime},a_{k})=\min\left\{1,\pi(a^{\prime}|U)/\pi(a_{k}|U)\right\}\). 4. Update \(a_{k}\) as \(a_{k+1}=a^{\prime}\) with probability \(\alpha(a^{\prime},a_{k})\) but otherwise set \(a_{k+1}=a_{k}\). 5. Obtain a reconstructed \(a_{k_{b}}\). 6. Switch to Algorithm 1 with the initial guess \(a_{k_{b}}\). ```  
**Algorithm 3**Hybrid  
We close this subsection by the Gelman-Rubin convergence diagnostic, which uses the intra-chain variance and inter-chain variance [37; 38]. We run \(M_{\text{MC}}\) different chains with different initial values. Let \(a_{k}^{m}\) denote the \(k\)th value in the \(m\)th chain (\(k=1,\ \ldots,\ k_{b}\), \(m=1,\ \ldots,\ M_{\text{MC}}\)). We discard the first \(k_{a}-1\) steps before the initial rapid changes cease. Then we compute the following intra-chain average and variance. \[\bar{a}_{m}=\frac{1}{k_{b}-k_{a}+1}\sum_{k=k_{a}}^{k_{b}}a_{k}^{m},\quad\sigma _{m}^{2}=\frac{1}{k_{b}-k_{a}}\sum_{k=k_{a}}^{k_{b}}(a_{k}^{m}-\bar{a}_{m})^{2}. \tag{32}\]  
Next we compute the inter-chain mean and variance. \[\bar{a}=\frac{1}{M_{\text{MC}}}\sum_{m=1}^{M_{\text{MC}}}\bar{a}_{m},\quad B= \frac{k_{b}-k_{a}+1}{M_{\text{MC}}-1}\sum_{m=1}^{M_{\text{MC}}}(\bar{a}_{m}- \bar{a})^{2}. \tag{33}\]  
Now we introduce  
\[L(\mathbf{U}|a)=e^{-\frac{1}{2\sigma_{2}^{2}}\|\mathbf{U}-\mathbf{F}(a)\|_{2}^ {2}}. \tag{25}\]0  
where \(W=\frac{1}{M_{\text{MC}}}\sum_{m=1}^{M_{\text{MC}}}\sigma_{m}^{2}\). This is an unbiased estimator of the true variance. But \(W\) is also an unbiased estimate of the true variance if the chains converge. Therefore, we have \(\sqrt{\hat{V}/W}\approx 1\) if converged. Below, we will see that we can choose \(k_{b}\) for which \(\sqrt{\hat{V}/W}\) is not close to 1. In this paper, we set \(M_{\text{MC}}=10\).