Monte Carlo method is a nonlinear approach that we can use to find estimates for a single parameter or multiple parameters of a function. As the initial step, we did a grid search to compute the error function for a large grid of trial solutions. For the grid of solutions, I used trial values from 2000km -7000km for the depth estimations and 200kgm-3 - 2000kgm-3 for the density contrast estimations. Then, each trial solution has randomly generated independently of previous ones. Estimations for the two parameters were drawn comparing the errors after a number of iterations.
Newton’s method
In Newton’s method, we start with the same approach as the Monte Carlo method by making an error function using a large grid of trial solutions. Then, the nonlinear inversion problem has solved using the information on the shape of the error. We used the derivatives of error at each trial solution to find the shape of the error. Using Taylor’s theorem, and keeping its first three terms, we obtained a parabolic approximation and find the estimates for the parameters.
Simulated Annealing method
This is a nonlinear inversion method that combines the best features from both Newton and Monte Carlo methods. This method samples the entire model space and uses local information to direct the sequence of trial solutions as Newton’s method. The initial approach is the same as the above mentioned two methods. The simulated annealing method starts with a trial solution m(p) with corresponding error Em(p). Then, a test solution m* with corresponding error E(m*) generated which falls neighboring to m(p). Condition to accept the test solutions as the new trial solution m(p+1) will be, when E(m*) < Em(p) or sometimes accepted even when E(m8)> Em(p). To decide the second case, a test parameter should be calculated. A random number r that is evenly distributed on the interval [0, 1] is generated and the solution m* is accepted if t>r. When T is large, the parameter approaches to unity, and m* is almost always accepted, despite the value of the error. When T is small, the parameter t is close to zero, and m* is almost never accepted. This matches to the directed search case, as then the only solutions that decrease the error is accepted.