1 Introduction

The inversion of gravity data is one of the most important topics in the quantitative interpretation of practical data, since construction of density contrast models could increase the amount of information that can be achieved from the gravity data (Li and Oldenburg 1998). Inversion of gravity data suffers from many problems. The major difficulty is the inherent nonuniqueness of gravity inverse problem. According to Gauss’s theorem, there are infinite equivalent source distributions that produce the same measured gravity field (Blakely 1996). Nonuniqueness of inverse problem solution can be overcome by applying a priori information. Several methods have been developed for incorporating priori information into the inversion process (Last and Kubik 1983; Barbosa and Silva 1994; Li and Oldenburg 1996, 1998, 2003; Pilkington 1997, 2008; Portniaguine and Zhdanov 1999, 2002; Farquharson 2008; Lelièvre et al. 2009).

In mineral exploration, one of the most interesting geological frameworks for interpretation of potential field data is detection of sharp boundaries between orebody and host rocks. Last and Kubik (1983) developed the compact inversion method by minimizing the total volume of the causative body. Guillen and Menichetti (1984) chose to minimize the moment of inertia of the body with respect to the center of the body or along single axis passing through it. Barbosa and Silva (1994) generalize the moment of inertia functional for compact gravity inversion to allow compactness along several axes. René (1986) does not solve linear systems, but instead implement a systematic search algorithm by iteratively applying open, reject, and fill criteria which is able to recover compact bodies with sharp contacts by successively incorporating new prisms around user-specified prisms called seeds. Portniaguine and Zhdanov (1999) developed the focusing inversion method based on compact inversion method. Camacho et al. (2000) proposed a method to estimate a 3D density contrast distribution based on a systematic search to iteratively “grow” the solution and the mathematical exploration of the model space for defined density contrasts. Bertete-Aguirre et al. (2002) used the total variation regularization to obtain sharp image of gravity source, whose stabilizing functional is the L1-type norm of the parameters. Silva and Barbosa (2006) developed 2D interactive methods for inverting gravity data with interfering anomalies produced by multiple, complex, and closely separated 2D geologic sources. Silva Dias et al. (2009) extended this interactive method for 3D gravity inversion through an adaptive learning procedure. Uieda and Barbosa (2012) developed a robust 3D gravity gradient inversion by planting anomalous densities which is able to recover compact bodies with sharp interfaces without solving linear system of equations.

However, L1-type norm inversion or the focusing inversion algorithm is the natural choice among algorithms producing compact solutions (Marchetti et al. 2014). In L1-type norm, L1 measure of the model or the spatial derivatives of the model are minimized with L2 measure of misfit to recover sharp interfaces (Pilkington 2008; Farquharson 2008). Farquharson and Oldenburg (1998) used this method for 1D inversion of electromagnetic data. Loke et al. (2003) minimized L1 norm of horizontal and vertical derivatives of the model in 2-D inversion of resistivity data. Farquharson (2008) used L1 measure of horizontal, vertical and diagonal derivatives in the model objective function to recover dipping structures and models which have angled interfaces in the inversion of 2-D MT data and 3-D gravity data. The focusing inversion method is based on Tikhonov regularization theory (Tikhonov et al. 1977) which consists of a misfit functional and a stabilizing functional. The misfit functional measures the differences between measured data and predicted data from recovered model. The stabilizing functional can incorporate information about the properties of the type of models used in the inversion (Li and Oldenburg 1996; Portniaguine and Zhdanov 2002; Farquharson 2008). In this paper, the minimum support (MS) stabilizer (Portniaguine and Zhdanov 1999; Zhdanov 2002), similar to the one initially developed by Last and Kubik (1983), for compact 2D inversion of gravity data is used to reconstruct 3D density models with non-smooth features. The main difference between the focusing inversion approach developed by Portniaguine and Zhdanov (1999) and the compact inversion approach introduced by Last and Kubik (1983) is in constructing an iterative inversion process in the space of the weighted model parameters.

Another difficulty in gravity inversion is related to large processing time due to large data sets over large exploration regions and the necessary increase in model parameters (Foks et al. 2014). For example, Carlos et al. (2014) applied the method developed by Uieda and Barbosa (2012) to estimate shape of iron-ore mineralization. In their smallest 3D inversion, they had 23,850 observation data and 2,655,900 model parameters. Many efforts have been made to decrease the large processing time. Pilkington (1997) used the 2D fast Fourier transform and convolution theorem while Caratori Tontini et al. (2009) used the 3D fast Fourier transform for fast forward modeling. The number of model parameters has been reduced by mesh refinement (Ascher and Haber 2001). Portniaguine and Zhdanov (2002) used a compression technique based on cubic interpolation and regularized conjugate gradient method to speed up the computations. The wavelet transform has been utilized to compress kernel matrix represent the dense matrix in sparse format (Li and Oldenburg 2003; Davis and Li 2011; Martin et al. 2013). Čuma et al. (2012) introduced a massively parallel regularized 3D inversion of potential field data. They used the reweighted regularized conjugate gradient method for minimizing the objective functional and incorporate a wide variety of regularization options. Octree mesh discretization has been used to reduce the number of model parameters (Davis and Li 2013). Foks et al. (2014) have used an adaptive down-sampling method to reduce the number of potential field data for forward modeling and inversion. Faster iterative solvers such as conjugate gradient (CG) (Hestenes and Stiefel 1952) and Lanczos bidiagonalization (LB) (Paige and Saunders 1982) have been used for unconstrained smooth inversion of potential field data (Abedi et al. 2013; Martin et al. 2013). However, LB algorithm converges to the approximate solution with fewer iterations rather than CG, thus LB can be faster than CG (Abedi et al. 2013).

In this paper, we choose to use the Lanczos bidiagonalization (LB) method (Paige and Saunders 1982) in a reweighed regularized algorithm to speed up 3D focusing inversion of gravity data. First, the focusing inversion procedure is described, and then the reweighted regularized Lanczos bidiagonalization method is discussed. Finally, the capabilities of the reweighted regularized Lanczos bidiagonalization method are illustrated by its application to the inversion of a synthetic data set and to the 3D inversion of gravity data from the San Nicolas deposit at Zacatecas State, Mexico.

2 Methodology

2.1 Forward Modeling of Gravity Anomalies

To solve the forward problem, we divide the underground space into small blocks (cells) with constant density contrast. The density contrasts within each cell is a known parameter and the gravity response of each cell is calculated using the formula given by Boulanger and Chouteau (2001). If the observed gravity anomalies are caused by M subsurface cells, the gravity anomaly at the field point i is given by:

$${d}_{{i}} = \sum\limits_{{{j = 1}}}^{{M}} {{G}_{{{ij}}} {m}_{{j}} \;} \quad {i = 1, \ldots ,N}$$
(1)

where \({d}_{{i}}\)is the gravity observation at the point i, \({m}_{{j}}\) is the density contrast of jth prism and \({G}_{{{ij}}}\) relates ith datum to the jth subsurface cell. The forward modeling of gravity data in Eq. (1) can be written as following matrix equation:

$$\varvec{Gm}{ = }\varvec{d }{,}\quad \varvec{G} \in {R}^{N \times M} {,}\,\varvec{d} \in {R}^{N} {,}\,\varvec{m} \in {R}^{M}$$
(2)

Here, \(\varvec{G}\) is forward operator matrix that maps the physical parameters space into the data space. \(\varvec{m}\) denotes the vector of known model parameters and \(\varvec{d}\) is data vector that is given by measurement data. There are some errors in measurement data because of equipment uncertainties and other difficulties. So,

$$\varvec{Gm} = \varvec{d}_{\text{obs}}$$
(3)

where, \(\varvec{d}_{\text{obs}} = \varvec{d} + \varvec{e}\) is the vector of observed data (the data vector) and \(\varvec{e} \in {R}^{N}\) is the vector of data error.

2.2 Focusing Inversion

The main purpose of the gravity inverse problem is to find a geologically plausible density model (m) based on G and some measured data (\(\varvec{d}_{\text{obs}}\)) at the noise level. The gravity inverse problem is usually ill-posed and the solution can be nonunique and/or unstable. We can solve this problem by the minimization of the Tikhonov parametric functional (Tikhonov et al. 1977):

$${P}^{\alpha } (\varvec{m}) = \varphi (\varvec{m}) + \alpha {S}(\varvec{m}),$$
(4)

where the misfit functional is defined as:

$$\varphi (\varvec{m}) = \left\| {\varvec{W}_{d} (\varvec{Gm} - \varvec{d}_{\text{obs}} )} \right\|_{{2^{\prime}}}^{2}$$
(5)

α is the regularization parameter, \({S}(\varvec{m})\) is the stabilizing functional (stabilizer), \(\varvec{W}_{d}\) is the data weighting matrix given by \(\varvec{W}_{d} = {\text{diag}}\,(1/\sigma^{\prime}_{i} {, \ldots ,}1/\sigma^{\prime}_{N} )\), with \(\sigma_{i}^{\prime }\) stands for the standard deviation of the noise in the ith datum. There are different stabilizers. An example is the traditional smooth inversion algorithm that is based on the minimum norm of smoothing stabilizing functional. These algorithms cannot describe the sharp geological boundaries between different geological formations because the recovered models usually have a smeared-out, fuzzy character (Farquharson 2008). This problem arises, for example, in inversion for the local target with sharp boundaries between the ore zone and the host rocks in mining exploration (Zhdanov et al. 2004; Farquharson 2008; Lelièvre et al. 2009). In these situations, we can use stabilizing functional producing compact solutions, such as the so-called minimum support or minimum gradient support functionals (Last and Kubik 1983; Portniaguine and Zhdanov 1999, 2002; Zhdanov 2002). Here, we select a stabilizer equal to the minimum support functional as follows:

$${S}(\varvec{m}) = \sum\limits_{k = 1}^{M} {\frac{{{m}_{k}^{2} }}{{{m}_{k}^{2} + \beta^{2} }}} ,$$
(6)

where β > 0 is a focusing parameter determining the sharpness of the produced image (Zhdanov 2002) and typically is a small value. Substituting the stabilizing functional in Eq. (4) by Eq. (6), we obtain:

$${P}^{\alpha } (\varvec{m}) = \varphi (\varvec{m}) + \alpha \sum\limits_{k = 1}^{M} {\frac{{{m}_{k}^{2} }}{{{m}_{k}^{2} + \beta^{2} }}} ,$$
(7)

We applied \(\varvec{W}_{m}\) as the depth weighting matrix (Li and Oldenburg 1998) to compensate lack of the data sensitivity to the deeper model parameters. If the diagonal elements of the matrix \(\varvec{W}_{m}\) are specified by \(\{ {w}_{1} {,w}_{2} {,} \ldots {,w}_{M} \}\), then, the depth weights (\({w}_{k}\)) can be incorporated into the minimization problem with the minimum support stabilizer (Portniaguine and Zhdanov 2002):

$${P}^{\alpha } (\varvec{m}) = \left\| {\tilde{\varvec{G}}\varvec{m} - \tilde{\varvec{d}}_{obs} } \right\|_{2}^{2} + \alpha \sum\limits_{k = 1}^{M} {\frac{{{w}_{k}^{2} {m}_{k}^{2} }}{{{m}_{k}^{2} + \beta^{2} }}} ,$$
(8)

where \(\tilde{\varvec{G}}{ = }\varvec{W}_{d} \varvec{G}\) and \(\tilde{\varvec{d}}_{\text{obs}} { = }\varvec{W}_{d} \varvec{d}_{\text{obs}}\). Therefore, an iterative weighting matrix is introduced as follows (Portniaguine and Zhdanov 2002):

$$\varvec{W}(\varvec{m}) = \sqrt {{\text{diag}}\,(\varvec{m}^{2} + \beta^{2} \varvec{I})\varvec{W}_{m}^{ - 2} } ,$$
(9)

where, \({\text{diag}}(\varvec{m}^{2} + \beta^{2} \varvec{I})\), is the diagonal matrix formed by the elements \({m}_{k}^{2} + \beta^{2}\) and \(\varvec{I} \in {R}^{M}\) is the identity matrix. \(\varvec{W}_{m} = {\text{diag}}\,(1/(z_{1} )^{\gamma } , \ldots ,1/(z_{M} )^{\gamma } )\) is the depth weighting matrix. Here, z j is the depth of jth model parameter and γ = 0.8 is suitable for focusing inversion of gravity data (Vatankhah et al. 2015). Now, Eq. (8) can be reformulated using matrix notation:

$${P}^{\alpha } (\varvec{m}) = \left\| {\tilde{\varvec{G}}\varvec{W}(\varvec{m})\varvec{W}^{ - 1} (\varvec{m})\varvec{m} - \tilde{\varvec{d}}_{obs} } \right\|_{2}^{2} + \alpha \left\| {\varvec{W}^{ - 1} (\varvec{m})\varvec{m}} \right\|_{2}^{2} ,$$
(10)

Equation (10) could be transformed into a space of weighted model parameters \(\varvec{m}_{w}\) by replacing the variables \(\varvec{m} = \varvec{W}(\varvec{m})\varvec{m}_{w}\) and \(\tilde{\varvec{G}}_{w} = \tilde{\varvec{G}}\varvec{W}(\varvec{m})\) (Vatankhah et al. 2015):

$${P}^{\alpha } (\varvec{m}_{w} ) = \left\| {\tilde{\varvec{G}}_{w} \varvec{m}_{w} - \tilde{\varvec{d}}_{obs} } \right\|_{2}^{2} + \alpha \left\| {\varvec{m}_{w} } \right\|_{2}^{2} ,$$
(11)

Equation (11) is similar to the classical minimum norm optimization problem that the solution is achieved according to the regularization theory (Tikhonov et al. 1977). The only important difference is the new forward modeling operator, \(\tilde{\varvec{G}}_{w} = \tilde{\varvec{G}}\varvec{W}(\varvec{m})\), which depends on \(\varvec{m}_{w}\), so it changes in the iteration process (Portniaguine and Zhdanov 2002). We can impose the upper and lower density bounds, \(\left[ {\varvec{m}_{\hbox{min} } {,}\varvec{m}_{\hbox{max} } } \right]\), via a penalization algorithm (Portniaguine and Zhdanov 1999, 2002) to recover more feasible model.

2.3 Reweighted Regularized Lanczos Bidiagonalization Method

Practically, the solution of focusing gravity inverse problem (i.e., Eq. 4) is obtained with an iteratively defined weighting matrix (\(\varvec{W}(\varvec{m})\)). In each iteration, Eq. (11) has to be solved, then model parameters (\(\varvec{m}\)) are calculated and bound constraints are imposed. The minimization problem in Eq. (11) can be solved using any iterative technique, such as conjugate gradient method.

Portniaguine and Zhdanov (1999, 2002) have developed the reweighted regularized conjugate gradient (RRCG) method as a simple approach to minimize the parametric functional Eq. (11). In this framework, the variable weighting matrix \(\varvec{W}(\varvec{m})\) is computed in each iteration using Eq. (9) after that the values of model parameters (\(\varvec{m}\)) are obtained from the previous iteration. Then, Eq. (11) is reweighted using linear transformation (i.e., Eq. 10). Finally, this minimization problem is solved using conjugate gradient method. The iterative process stops when the misfit in Eq. (5) reaches the required level.

It is assumed that the contaminating noise on the data is independent and Gaussian with zero mean. Then \(\varphi (\varvec{m)}\) becomes the Chi-squared variable χ 2 N with N degrees of freedom. This is a well-known statistical quantity whose E[χ 2 N ] = N provides a target misfit for the inversion (Li and Oldenburg 1996). Setting \(\varphi (\varvec{m})\sim N\) should provide a good solution providing that our assumptions about the errors are valid. Therefore, the iterative process stops when \(\varphi (\varvec{m}) \le N\) (Zhdanov 2002). This approach is simple. But it is slow and the misfit and stabilizing functional can change, and even increase from iteration to iteration due to reweighting (Zhdanov 2002; Zhdanov and Tolstaya 2004). In this paper, we use Lanczos bidiagonalization (Paige and Saunders 1982) for solving Eq. (11). Because if Lanczos bidiagonalization is applied to the least squares problem Eq. (11), then at early iterations, the approximate solution will be achieved (Berisha and Nagy 2013). Therefore, this method can be a faster iterative solver rather than the conjugate gradient (CG) method.

The Lanczos bidiagonalization algorithm has been applied to obtain the approximate solutions of large scale linear inverse problems such as Eq. (11) with very ill-conditioned matrices (Martin et al. 2013). This algorithm carries out \({l}\) steps of the Lanczos bidiagonalization process applied to the matrix \(\tilde{\varvec{G}}_{w}\). This algorithm is summarized in Algorithm 1 (Calvetti et al. 2000):

The parameter \({l}\) is the number of Lanczos bidiagonalization iteration in Algorithm 1. If l is chosen small enough so that all computed ρ j and σ j are positive, then the algorithm can determine the matrices \(\varvec{U}_{{l}} = \left[ {\varvec{u}_{1} ,\varvec{u}_{2} \ldots ,\varvec{u}_{{l}} } \right] \in {R}^{N \times l}\), \(\varvec{V}_{{l}} = \left[ {\varvec{v}_{1} ,\varvec{v}_{2} \ldots ,\varvec{v}_{{l}} } \right] \in {R}^{{M \times {l}}}\) with orthonormal columns, as well as the lower bidiagonal matrix C l  ∊ R l×l that is defined as:

$$\varvec{C}_{{l}} = \left[ {\begin{array}{*{20}c} {\rho_{1} } & {} & {} & {} & {} \\ {\sigma_{2} } & {\rho_{2} } & {} & {} & {} \\ {} & {\sigma_{3} } & {\rho_{3} } & {} & {} \\ {} & {} & \ddots & \ddots & {} \\ {} & {} & {} & {\sigma_{{l}} } & {\rho_{{l}} } \\ \end{array} } \right]$$
(12)

For underdetermined system of equations, N < < M, the approximate solution of Eq. (11) (\(\varvec{m}_{w}\)) can be obtained from:

$$\varvec{m}_{w} = \tilde{\varvec{G}}_{w}^{T} \varvec{U}_{{l}} \varvec{y}$$
(13)

where

$$\varvec{y} = (\varvec{C}_{{l}} \varvec{C}_{{l}}^{T} + \alpha \varvec{I}_{{l}} )^{ - 1} (\sigma_{1} \varvec{e}_{1} )$$
(14)

where \(\varvec{e}_{{l}} = \left[ {0,0, \ldots ,0,1} \right] \in {R}^{{l}}\). \(\varvec{y}\) can be specified iteratively by solving the least squares problem (Calvetti et al. 2000):

$$\mathop {\hbox{min} }\limits_{{\varvec{y} \in {R}^{{l}} }} \left\| {\left[ {\begin{array}{*{20}c} {\varvec{C}_{{l}}^{{T}} } \\ {\alpha_{{}}^{1/2} \varvec{I}_{{l}} } \\ \end{array} } \right]\varvec{y} - \alpha^{ - 1/2} \sigma_{1} \varvec{e}_{{{l} + 1}} } \right\|_{2}^{2}$$
(15)

Computing \(\varvec{m}_{w}\) in Eq. (11) using \(\varvec{C}_{{l}} \in {R}^{{{l \times l}}}\), instead of \(\tilde{\varvec{G}}_{w}\), can be a useful approach for fast approximate computation of underdetermined system of equations (Abedi et al. 2013). We can compute y by solving Eq. (15) using QR factorization efficiently with the aid of Givens rotations (Eldén 1977). However, there is no need to form Eq. (15) explicitly in each Lanczos bidiagonalization iteration, but the solution can be obtained using an efficient QR factorization updating scheme at each iteration (Paige and Saunders 1982). Lanczos bidiagonalization iteration (l) is usually low; therefore, LB becomes a fast algorithm for solving Eq. (11).

2.4 Choosing Regularization Parameter

To select an optimal regularization parameter α, we run the first iteration without regularization (α 0 = 0). Then, this result (\(\varvec{m}_{1}\)) is used to determine the initial value of the regularization parameter which balance the model misfit functional \(\varphi (\varvec{m})\) and the stabilizing functional \({S}(\varvec{m})\) at the start of inversion process. The initial value of the regularization parameter, α 1, is determined after the first iteration, as follow (Zhdanov 2002):

$$\alpha_{1} = \frac{{\left\| {\tilde{\varvec{G}}\varvec{m}_{1} - \tilde{\varvec{d}}_{obs} } \right\|_{2}^{2} }}{{\left\| {\varvec{m}_{1} } \right\|_{2}^{2} }}$$
(16)

In some situations, the stabilizing functional can increase from iteration to iteration. Zhdanov (2002) proposed to damp the regularization parameter proportionally to the increase of the stabilizing functional, as follow:

$$\alpha_{{k}} = \alpha_{1} {q}^{{{k} - 1}} , \quad {k} = 1{,}2{,}3{,} \ldots {, }0 < {q} < 1,$$
(17)

where, \(\alpha_{{k}}\), is the optimal regularization parameter in \({k}\) th iteration and \({q} \in (0.5{,}0.9)\) based on empirical experiments. Here, we assign \({q} = 0.5\). Then the regularization parameter is reduced according to Eq. (17) on each iteration and continuously iterates until the acceptable misfit value is achieved that should be at the noise level of the data or a maximum number of iterations is reached. This optimal regularization parameter selection approach is called adaptive regularization (Zhdanov 2002). Reweighted regularized Lanczos bidiagonalization method is summarized in Algorithm 2.

3 Synthetic Tests

We apply our fast algorithm to a synthetic test to evaluate the reliability of the introduced method. The true model consists of three different bodies embedded beneath the surface so that density of uniform background is zero. Density of each block is 1.0 (g/cm3). These bodies are buried at different depths (Table 1).

Table 1 Parameters of true model

Figure 1a is a perspective view of the true model. The data gathered over a grid of 1000 × 1000 m with sample spacing of 25 m. There are 1600 data and 3 % Gaussian noise of the accurate datum magnitude has been added (Fig. 1b).

Fig. 1
figure 1

Perspective view of the true model with three blocks (a). Gravity anomaly produced by the true model in a with 3 % Gaussian noise of the accurate datum magnitude (b)

The subsurface is discretized into 40 × 40 × 20 = 32,000 rectangular prisms with the same size of 25 m in x, y and z directions (Mx, My, Mz). The inverse problem has been solved using reweighted regularized Lanczos bidiagonalization (RRLB) method that is described in the preceding section. It is suggested that the optimum value of β is the point of maximum curvature at the plot of the normalized stabilizing functional as a function of β (Zhdanov and Tolstaya 2004). Zhdanov and Tolstaya (2004) proposed this empirical method for focusing parameter selection which resembles the L-curve method. Their idea is to consider the plot of the normalized stabilizing functional for a range of values of the focusing parameter β and for a given priori estimate of the solution. If prior knowledge about the solution is absent then priori estimate of the solution could be obtained from, e.g., a smooth inversion with the minimum norm stabilizer. Here, we found β of order 10−2 is appropriate thus we set β = 0.02. The maps of depth slices through the recovered model of RRLB method are shown in Fig. 2.

Fig. 2
figure 2

Plan sections through the recovered density models obtained from the 3D focusing inversion of gravity anomaly using the RRLB method at different depths. The edges of the blocks in the true model are outlines in black

For comparison, the inverse problem has been solved by the reweighted regularized conjugate gradient (RRCG) method. Figure 3 shows the maps of depth slices through the recovered model from proposed inversion method.

Fig. 3
figure 3

Plan sections through the recovered density models obtained from the 3D focusing inversion of gravity anomaly using the RRCG method at different depths. The edges of the blocks in the true model are outlines in black

The results indicate acceptable reconstruction of the synthetic multisource bodies at different depth levels below the surface. Both solutions are blocky and define depth to the top and bottom of deep bodies adequately. The recovered bodies in model along the cross-section (A–B) are adequately matched with real location of synthetic bodies (Fig. 4).

Fig. 4
figure 4

A cross-sectional slice of the density model obtained from the 3D focusing inversion of gravity data shown in Fig. 1b at an Easting of 700 m (AB) using the RRLB method (a) and the RRCG method (b). The borders indicate the true position of each body

The running time and the misfit value of each inverse model are computed for a 16 GB RAM, Core i7 2.6 GHz processor and 64-bit operation system. The obtained solution from both algorithms have been converged to the solution with the same number of iterations and misfit values are less than the number of observed data (1600) (Fig. 5). However, in RRLB algorithm, the solution has been achieved 88.18 s (35.4 %) faster than RRCG algorithm (Table 2).

Fig. 5
figure 5

The predicted gravity anomalies from the recovered models using (a) RRLB method and (b) RRCG method. Histograms of data residuals defined as the difference between the predicted and observed data with corresponding means and standard deviations (Std) for (c) RRLB method and (d) RRCG method

Table 2 Comparison of inversion results for RRBL and RRCG algorithms

The relative efficiencies of the RRLB and the RRCG method were tested using the synthetic test. we solved five problems with models of different sizes: Mx, My, Mz = 20 × 20 × 10, 25 × 25 × 12, 30 × 30 × 15, 35 × 35 × 17, and 40 × 40 × 20. The data dimensions were changed proportionally to the Mx and My in each case. The relative efficiencies are shown in Fig. 6. The dotted black line and solid blue lines show the performance of the RRCG and RRLB methods, respectively.

Fig. 6
figure 6

Execution time of RRLB and RRCG against number of cells in x direction. The size of the problem is referred to the number of points in x direction (Nx), assuming that other dimensions change proportionally for the five considered cases. The solid blue lines show the performance of the proposed method (RRLB)

Therefore, according to the results, the proposed RRLB algorithm can be a more efficient solver rather than the RRCG algorithm for focusing inversion of gravity data.

4 Inversion of Real Data

San Nicolas is a massive sulfide copper-zinc deposit in Zacatecas State, Mexico. The deposit is a volcanogenic massive sulfide deposit containing 1.35 % copper and 2.27 % zinc with some gold and silver that is estimated to be 72 million tons ore. The deposit is hosted in a series of mafic and felsic volcanic rocks which lie over graphitic mudstones (Fig. 7).

Fig. 7
figure 7

West-facing geologic cross-section from San Nicolas deposit at an Easting of −1700 m (after Phillips 2001)

The deposit is almost bounded to the east by a southwest-dipping fault, which is inferred to be a feeder structure. Mineralization has been occurred along the fault at depth in an unconstrained part of the deposit referred to as the keel. The volcanic host rocks of the deposit are covered by a Tertiary breccia overburden, which varies in thickness from 50 to 150 m (Phillips et al. 2001).

Phillips (2001) interpreted residual gravity data from observed gravity data (Fig. 8a). Phillips (2001) inverted this residual data set using unconstrained smooth algorithm (Li and Oldenburg 1996, 1998, 2003) which does not retrieve the sharp geological boundaries adequately. Lelièvre (2009) used an advanced constrained inversion method to invert the data set which can incorporate more geological information from the deposit. He shows that by adding available priori information about the geologic structure or borehole information as constraints, the results are improved. He developed an inversion algorithm to include the mentioned constraints and obtained a more reasonable estimate of the deposit. However, the focusing inversion algorithm does not require additional information about geologic structure or borehole information.

Fig. 8
figure 8

San Nicolas residual gravity map with the data locations (black dots) (a). Gravity map obtained from the predicted data using the RRLB method (b). Histogram of data residual defined as the difference between the predicted and observed data with corresponding mean and standard deviation (Std) (c)

For 3D inversion of the data, the subsurface of study area has been discretized with 43 × 36 × 20 cells of 50 m in the x, y and z direction respectively. The sulfide body has the highest density (3.5 g/cm3) and Tertiary breccia has the lowest density (2.3 g/cm3) in the region (Phillips et al. 2001). The highest density contrast is 1.2 (g/cm3). Therefore, we set −0.2 (g/cm3) as lower density bound and 1 (g/cm3) as upper density bound. Finally, the distribution of the density contrast under the study area was found by 3D inversion. The achieved misfit value is 127 which is less than the number of observed data (190) (Fig. 8b). Figure 9 shows the result of the 3D focusing inversion using RRLB algorithm in a horizontal slice of the anomalous density contrast distribution at a depth of 300 m.

Fig. 9
figure 9

Recovered density model, slice at 300 m depth

We can see an anomalous body with high density contrast around the center of the study area that represents San Nicolas deposit. There are two other anomalous bodies with lower density contrast in the northeast and southwest of the region. The drilling result has demonstrated that north-eastern anomalous body represents a mafic intrusive rock. Similar mafic intrusives outcropping at the south-western anomalous body at the surface (Phillips 2001). Two cross-sections through the recovered density model at an Easting of −1700 m and at a Northing of −400 m have been illustrated in Fig. 10. The borders on cross-sections indicate true geologic boundaries of San Nicolas sulfide body that is inferred from drilling data.

Fig. 10
figure 10

Cross-section slices of the 3D density model at a Northing of −400 m (AA′) (a) and at an Easting of −1700 m (BB′) (b) overlaid with geologic boundaries of the deposit

We can clearly see the lateral shape and extent of the main body of the deposit well defined and southwest-dipping fault is reasonably determined. Thus, we obtained a good solution in agreement with true geologic boundaries of San Nicolas sulphide body and other geological studies in the area.

5 Conclusions

We have improved the reweighted regularized method for the focusing inversion of gravity data using Lanczos bidiagonalization. Inversion of noise contaminated synthetic data showed that the reweighted regularized Lanczos bidiagonalization method is a more efficient algorithm rather than the common reweighted regularized conjugate gradient method in focusing inversion of gravity data. The obtained results indicate the new developed 3D focusing inversion method based on RRLB algorithm is able to produce a focused solution that define the shape and extent of synthetic bodies adequately. Furthermore, the application of this 3D focusing inversion approach for a real gravity data set produced a model that is consistent enough with the available geology and drilling data.

Compression techniques such as wavelet compression can compress the kernel matrix and decrease the required memory. Therefore, it is suggested that a compression technique is used with reweighted regularized Lanczos bidiagonalization to make focusing inversion problems even more efficient for large scale problems. Also, parallel regularized 3D inversion using reweighted regularized Lanczos bidiagonalization will be a subject of future works for large scale problems.