5.4. Least-Squares Inversion¶
Here, we use magsen3d_60.exe to compute the sensitivity matrix required for the inversion; which is scaled by distance weighting. We then use maginv3d_60.exe to perform a least-squares inversion and recover a susceptibility model. To keep the example simple, we added Gaussian noise with a standard deviation of 0.5 nT to all data points. We then assigned uncertainties of 0.5 nT to all magnetic data. In practice, the noise on the data is not trivial to quantify and choosing appropriate uncertainties is very important for successful inversion.
Files relevant to this part of the example are in the sub-folder inv_L2 . Before running this example, you may want to do the following:
- Download and open the zip folder containing the entire Mag3d example (if not done already)
- Learn how to run magsen3d_60.exe and maginv3d_60.exe from the command line
- Learn the format of the input file for magsen3d_60.exe and of the input file for maginv3d_60.exe
Here, the code magsen3d_60.exe and the input file sens.inp (see format) are used to construct the sensitivity matrix and scale it using distance weighting. The distance weighting is applied to the sensitivity matrix to counteract the inversion’s natural tendancy to incorrectly place anomalous structures near the observation locations.
To compute the sensitivities, the following input file was used. Since we are performing a least squares inversion, a flag of 1 is entered on the last line of the input file.
Here, the code maginv3d_60.exe and the input file inv.inp (see format) was used to recover a susceptibility model. You cannot perform the inversion until you have created the sensitivity matrix.
The true model (left) and the final recovered model (right) are shown below. The least-squares inversion almost always recovers a smooth structure that underestimates the amplitude of the target. With distance weighting however, the center location of the recovered body is consistent with the true model.