## 3 Numerical Implementation
### Numerical Implementation of the D-Bar Algorithm
An example is visualized in Figure 4. This has the advantage that the singularity at the origin is avoided. The values inside \(K\) are computed depending on the chosen truncation radius \(R\). This is carried out with the help of the Matlab function _meshgrid()_. This function obtains a vector \(\mathbf{k_{help}}=[-R,-R+\frac{2R}{M-1},\ldots,R-\frac{2R}{M-1},R]\) as an input argument. Finally, we can construct \(\mathbf{K}=\mathbf{K_{1}}+j\cdot\mathbf{K_{2}}\) with \(\mathbf{K_{1}},\mathbf{K_{2}}=meshgrid(\mathbf{k_{help}})\). Note that \(\mathbf{K}\) is complex-valued; this is for computational purposes, as it makes the following steps easier. A simplified example of \(\mathbf{K}\) can be seen in the Appendix A.2. **Step 3**: Solution of the D-Bar Equation (A4). As mentioned in the Appendix A, the D-Bar algorithm solves the conductivity for one position. Thus, the steps outlined in the following have to be repeated for every position  
Figure 4: Example of the sample strategy of \(\mathbf{K}\) for \(p=2\) which results in a \(4\times 4\) grid (note that this is just for illustration purposes and would be too low for computations). Every quadrant of the \(k\)-space has the same number of points. The numbers above the points are the indices of the matrix \(\mathbf{K}\) as implemented in Matlab®. Figure 1:0 Example of the \(k\)-space. At the top, the conductivity enclosure in our rectangular domain is given. In the bottom left part, the real part of the k-space is given, while the imaginary part is displayed on the right. The truncation radius is \(R_{1}=3.5\). It is important to note that the size of the actual domain has no direct relation to the more abstract truncation radius, as the truncation radius is placed in the k-space. desired inside the domain. We use the method proposed by [PERSON] and [PERSON], which is based on a fast Fourier transform approach [28]. Equation (A4) can be regarded as the convolution of the differential form of Equation (12) and the Green's function \(G_{\partial}\) for the D-Bar operator, leading to  
Figure 1:1 Figure 1:2 Figure 1:3 (12) Figure 1:4  
Note that the x-y-position inside the domain is expressed as a complex number, with \(z=x+j\cdot y\). Instead of regarding Equation (11) for the full plane, it is transformed to a periodic equation. To achieve this, a grid \(Q=[-2R-3\varepsilon,2R+3\varepsilon]^{2}\) with \(\varepsilon>0\) is defined. This ensures a sufficient grid size for the calculations to perform the FFT trick by [PERSON] [28]. In our case, \(\varepsilon=R/6\) was used. \(Q\) is very similar to the earlier constructed \(K\), except that it is larger. \[\mathbf{Q}= \begin{bmatrix}-2R-3\varepsilon+j\cdot(2R+3\varepsilon)&\dots&2R+3 \varepsilon+j\cdot(3R+3\varepsilon)\\ \vdots&\ddots&\vdots\\ -2R-3\varepsilon-j\cdot(3R+3\varepsilon)&\dots&2R+3\varepsilon-j\cdot(3R+3 \varepsilon)\end{bmatrix} . \tag{14}\]  
Since the fast Fourier transformation is used later, \(\mathbf{Q}\) should be of the shape \(2^{p}\times 2^{p}\), where \(p\) can be freely chosen. We used \(p=6\) for this work, as it resembles a good compromise between accuracy and computation speed. In addition, note that the grid--similar to \(K\)--is symmetricand, thus, the origin \(0+j0\) is not in the grid. This simplifies calculations, otherwise, the origin is a singularity in the calculations (see Equations (12) and (13)). On this grid, the Green's function (13) is evaluated elementwise. We denote the resulting matrix as \(\mathbf{G}_{\partial}\) to make the function represented by the matrix periodic. The matrix is weighted such that the boundary of the matrix is zero, while a circle inside the matrix has the original values. The weight function \(\eta(k)\) is defined as  
\[\eta(k) = \begin{cases}1&|k|<2R+\varepsilon\\ (2R+3\varepsilon-|k|)/(2\varepsilon)&2R+\varepsilon\leq|k|.\\ 0&2R+3\varepsilon<|k|\end{cases}