and is larger than the off-diagonal components. Therefore, the inverse to can be approximated by a diagonal matrix, with the

ds_{i} |
= | (2.11) |

and is a SIRT-like (simultaneous iterative reconstruction tomography) method.

MATLAB SIRT TOMOGRAPHY CODE % t0 - input- observed traveltime data vector from ns shot gathers % with ng traces per shot gather. % s0 - input- starting slowness vector for a nx by nz slowness model % with cell width dx. %thresh - input- estimated average traveltime error %filter - input- small (e.g., 4x4) low-pass averaging filter % tc -output- calculated traveltime data vector % diag -output- diagonal matrix of diagonal values of L'L s1 = s0;thresh=1; [L,tc,diag] = raytraveltime(s1,nx,nz,ns,ng,dx); % if thresh > 0; residual = tc -t0; s2 = s1 - alpha*L'*residual./diag [L,tc,diag] = raytraveltime(s1,nx,nz,ns,ng,dx); % average_t_error = sqrt((tc-t0)'*(tc-t0))/(ns*ng) if average_t_error < thresh; thresh = -1; else; s2 = conv2(s2,filter);end; endLet us now use the SIRT-like algorithm to invert traveltime data. The first example will demonstrate the use of refraction tomography, and the second example will invert transmission traveltimes from crosswell data.