1 Introduction

The gravity method has been playing an important role in a wide range of geological and geophysical tasks such as mineral and petroleum explorations, studying of regional tectonics, finding water-bearing stratums and many other engineering and environmental applications (Bansal and Dimri 2001; Battaglia and Segall 2004; Nabighian et al. 2005; Chakavarthi and Sundararajan 2006; Liu et al. 2015; Zhou et al. 2015; Zhou 2016). Rational processing and interpretation of gravity data provide a view of the subsurface that highlights geological bodies and structures (Wolf et al. 2012; Wang et al. 2015a, b, 2017; Hou et al. 2016), among which generalized inversion is an important quantitative way. It is a mathematical technique that automatically constructs the physical property distribution of the subsurface from measured data by incorporating some priori information. Recovered data by the obtained physical model should predict the measured data to a permissible precision (Rezaie et al. 2017). For generalized inversion of gravity data, the subsurface is discretized into cells with constant densities. A finite number of mathematical equations are equationed to recover densities of these cells. Generally, numerical calculation of gravity inversion is ill-posed, which denotes that the inversion suffers from inherent nonuniqueness and is unstable. The ill-posedness mentioned above can be overcome by applying regularization items (Tikhonov and Arsenin 1977). With regularization, different priori information can be employed to limit the solution space and stabilize the computation process (Last and Kubik 1983; Barbosa and Silva 1994; Meju 1994, 2009; Pilkington 1997, 2009; Portniaguine and Zhdanov 2002; Rezaie et al. 2017). Due to its important significance for many practical applications, generalized inversion of gravity data has always been a research hotspot over the past decades, and various algorithms have been developed with regularizations (Camacho et al. 2000; Chakavarthi and Sundararajan 2006; Berrino and Camacho 2008; Pilkington 2012; Wang et al. 2015a, b; Rezaie et al. 2017; Zhang et al. 2017).

Along with the improvement of exploration degree, high-resolution detecting has become the developing tendency. This means denser datasets over larger exploration regions are collected. Moreover, detailed inversion is also needed for higher resolution exploration, which causes the increase of model cells. Large amount of data points and model cells adopted prompts the generalized inversion of gravity data to be a computationally challenging problem, which is very time consuming. Some efforts have been made by different scholars to handle this difficulty. For example, Oldenburg et al. (1993), Mirzaei et al. (1996) and Yao et al. (2007) presented the subspace methods for large-scale inverse problems. Pilkington (1997), Shin et al. (2006) and Tontini et al. (2009) utilized the fast Fourier transform (FFT) for fast forward modelling of potential field data. Li and Oldenburg (2003), Chen (2003) and Martin et al. (2013) adopted the wavelet transform to compress kernel matrix of the gravity inversion problem. Chen et al. (2012), Čuma et al. (2012) and Zhang et al. (2015) applied the parallel computing for fast modelling and inversion of gravity data. Foks et al. (2014) and Wang et al. (2015a, b) employed the adaptive down-sampling technique to reduce the number of potential field data for forward modelling and inversion. Some fast solver algorithms like conjugate gradient (CG) and Lanczos bidiagonalization (LB) have also been applied for fast inversion (Toushmalani and Saibi 2015; Qin et al. 2016; Meng et al. 2016; Rezaie et al. 2017). Recently, the FMM which was previously applied in the N-body simulation has been applied for fast forward modelling of potential field data (Dave and Matthew 2011; Casenave et al. 2016).

The FMM was first presented by Greengard and Rokhlin (1987) for the rapid evaluation of the interaction force in a system involving large number of particles. Generally, the work needed for the computation of all the pairwise interactions for a system with N particles is proportional to O(N2). Nevertheless, the amount of work can be greatly reduced using the FMM. Since proposed, the FMM has found applications for large-scale problems encountered in many subjects, such as plasma physics, molecular dynamics and celestial mechanics (Greengard and Rokhlin 1987). For the original FMM, analytic expansion of the kernel was needed, which was sometimes difficult for specific kernel functions. Hence, extensions have been made on the original FMM to make it suitable for general kernels without analytical expansion, as evidenced by kernel-independent FMMs, such as the black-box FMM (BBFMM) proposed by Fong and Darve (2009). With BBFMM, the FMM process can be achieved by low-rank approximation of the kernel function without analytical expansion of it. Complete description of the FMM refers to the founding article (Greengard and Rokhlin 1987).

Taking advantage of the features of the FMM, the work discussed in this paper presented a method for fast nonlinear generalized inversion of gravity data. For the method, the total inversion objective function is established with weighted data misfit function along with model objective function. The portion of forward modelling is calculated with the FMM. Several constraints are adopted to improve the inversion result including the depth weighing factor, the bound constraint and the focusing item. The total objective function is solved by a dataspace algorithm during which the preconditioned CG approach is utilized to perform matrix inversion. The fast inversion method was tested by using both synthetic gravity data and real gravity data. Numerous tests indicated that the new method is faster than conventional generalized inversion algorithm to produce an acceptable solution for gravity inverse problem.

This article starts by discussing the forward modelling method with the FMM. Density model was established to test its calculation accuracy and speed compared with the conventional modelling method based on integral equation. Then, the integrated fast inversion method was described. Finally, the inversion algorithm was tested on both the above synthetic gravity data and real gravity data from Sichuan basin, southwest China.

2 Methodology and Synthetic Tests

2.1 Fast Forward Modelling of Gravity Data and Synthetic Tests

For the convenience of establishing the generalized inversion algorithm in the following section, we adopted two Cartesian systems of coordinates for model and data domain. The model domain was discretized into a set of hexahedral cells with constant density. Here, the vertical axes were taken to be positive downward and the other horizontal axes were arranged into a right-handed system. According to Li and Chouteau (1998), gravity data induced by a 3D model with density ρ(ξηζ) at the evaluation point (xyz) can be written as

$$ g(x,y,z) = - G\iiint {\rho (\xi ,\eta ,\zeta )\frac{z - \zeta }{{r^{3} }}d\xi d\eta d\zeta }, $$
(1)

where G is the universal gravitational constant and r denotes the distance between a density model and the evaluation point. Letting {x i } denotes for the set of evaluation points and {y j } for a set of source points with densities given by {ρ j }. Traversing the entire data domain and model domain, Eq. (1) can be expressed as a simplified discrete summation form as

$$ g(x_{i} ) = \sum\limits_{j = 1}^{M} {\rho_{j} {\mathbf{K}}(x_{i} ,y_{j} )} \quad i = 1, \ldots ,N $$
(2)

where K(x i y j ) is the kernel matrix that builds the interactions between different evaluation and source points. With Eq. (2), forward modelling of gravity data can be computed directly, and the computational complexity of this operation is proportional to O(MN). For small-scale modelling problem, calculation of Eq. (2) with direct particle to particle algorithm is feasible. However, the particle to particle algorithm is very time consuming when the modelling problem is of great large scale. This issue is magnified during the inversion process where the forwarding modelling computation should be conducted repeatedly. Here, the FMM was adopted for fast forward modelling of gravity data.

In the FMM, the model domain is hierarchically decomposed into various clusters. For the gravity case, these clusters are rectangle boxes in two-dimensional (2D) case and rectangle cubes in three-dimensional (3D) case, which are managed by the tree structure. The quadtree and octree structure are utilized for the hierarchical space decomposition in 2D and 3D cases, respectively. These clusters can also be considered as containers to include the initial model cells which are divided by the inversion algorithm rather than the FMM. Figure 1 illustrates such a hierarchical space decomposition for the 1D case. In Fig. 1, different partials denote for the density sources for the gravity case. The multipole expansions (MEs) represent the condensed particles in the upper level of the tree. With FMM, influence of a cluster which contains many particles is approximately by the fixed center point of this cluster. The hierarchical space decomposition allows pairs of subdomains to be grouped into ‘near’ and ‘far’, with far interactions treated approximately. For the convenience of establishing the inversion algorithm, the model domain in this study was wholly considered as far-away with the evaluation points. With the FMM algorithm, kernel matrix in Eq. (2) should be expressed as

$$ {\mathbf{K}}(x_{i} ,y_{j} ) \approx \sum\limits_{l = 1}^{n} {u_{l} (x_{i} )} v_{l} (y_{j} ), $$
(3)

where function u(x) denotes a function which has the variable x and function v(y) denotes a function which has the variable y. The forms of u(x) and v(y) depend on the form of the kernel function and the decomposition method.

Fig. 1
figure 1

Sketch map showing a hierarchical space decomposition for one-dimensional case. Particle denotes for a smallest cell. ME denotes for the convergent points of the particles

Then, gravity data in Eq. (2) hold

$$ g(x_{i} ) = \sum\limits_{l = 1}^{n} {u_{l} (x_{i} )} \sum\limits_{j = 1}^{M} {\rho_{j} v_{l} (y_{j} )} \text{ }i = 1, \ldots ,N. $$
(4)

Equation (4) can be written in a much simpler form as

$$ g = \left[ {A_{x} } \right]\left[ {B_{y} } \right]. $$
(5)

It can be seen from Eq. (5) that the first and second quantities are independent of each other. Different parts in this equation can be precomputed and reused many times. This kind of factorization leads to the reduction of computational complexity of Eq. (2). And the execution time can be reduced greatly for the forward modelling as well as the inversion process.

For application of the FMM, the kernel matrix should be decomposed into the form of Eq. (3) to obtain the separation of different variables. This is difficult for the gravity kernel which has high-order items in its denominator. In our study, the kernel-independent BBFMM algorithm based on interpolation was employed for calculation. The basic idea of an interpolation-based FMM is the low-rank approximation of the kernel matrix as follows:

$$ {\mathbf{K}}(x_{i} ,y_{j} ) \approx \sum\limits_{l} {\sum\limits_{m} {{\mathbf{\rm K}}(x_{l} ,y_{m} )w_{l} (x_{i} )w_{m} (y_{j} )} }, $$
(6)

where w l (x i ) and w m (y j ) are the interpolating functions corresponding to the nodes x i and y j , respectively. Using this scheme, different variables in Eq. (6) are separated, except for the small amount of interpolation nodes. In this way, Eq. (2) can be rewritten as

$$ g(x_{i} ) \approx \sum\limits_{j = 1}^{M} {\left[ {\sum\limits_{l} {\sum\limits_{m} {{\mathbf{\rm K}}(x_{l} ,y_{m} )w_{l} (x_{i} )w_{m} (y_{j} )} } } \right]} \rho_{j} = \sum\limits_{l} {w_{l} (x_{i} )\sum\limits_{m} {{\mathbf{\rm K}}(x_{l} ,y_{m} )\sum\limits_{j = 1}^{M} {\rho_{j} } w_{m} (y_{j} )} }. $$
(7)

It can be noted from the above analysis that forward modelling of gravity data with Eq. (7) shares the similar mathematical expressions as the FMM-based Eq. (4), which can also be performed in a more efficient way. If the above interpolation is only conducted in the model domain, Eq. (7) is then changed to the form as

$$ g(x_{i} ) \approx \sum\limits_{m} {{\mathbf{\rm K}}(x_{i} ,y_{m} )\sum\limits_{j = 1}^{M} {\rho_{j} } w_{m} (y_{j} )}. $$
(8)

In this case, the FMM procedure described in the former paragraphs is something similar to the equivalent density sources method.

Theoretically, any interpolation scheme can be utilized for the interpolation-based low-rank approximation. We tested the Lagrange interpolation and the Chebyshev interpolation for gravity data along a profile induced by a 2D rectangle density model. Figure 2 is the obtained 10 nodes interpolation results with Lagrange interpolation and Chebyshev interpolation, respectively. It can be seen that boundary of the data cannot be reconstructed precisely for the Lagrange interpolation, whereas the Chebyshev interpolation gives a more satisfying approximation in this case. The oscillation at the edges of the data namely is the Runge’s phenomenon which occurs when using polynomial interpolation with polynomials of high degree over a set of equispaced interpolation nodes (Epperson 1987). Hence, the Chebyshev interpolation was served as the interpolation basis along with their roots as the interpolation nodes in the following study. The first-kind Chebyshev polynomial with order n is defined as (Scraton 1969; Dette 1995)

Fig. 2
figure 2

Interpolation results with Lagrange interpolation (blue dotted line) and Chebyshev interpolation (green dotted line), black solid line denotes the initial data

$$ T_{n} (x) = \cos (n \cdot \arccos x). $$
(9)

The roots of Eq. (9) are

$$ \bar{x}_{m} = \cos \left( {\frac{(2m - 1)\pi }{2n}} \right)\text{ }m = 1, \ldots ,n $$
(10)

which will be treated as the interpolation nodes. An n-point Chebyshev interpolation that approximates function k(x) has the following form (Marson 1996; Fong and Darve 2009):

$$ p_{n - 1} (x) = \sum\limits_{l = 1}^{n} {k(\bar{x}_{l} )S_{n} (\bar{x}_{l} ,x)}, $$
(11)

where

$$ S_{n} (\bar{x}_{l} ,x) = \frac{1}{n} + \frac{2}{n}\sum\limits_{k = 1}^{n - 1} {T_{k} (\bar{x}_{l} )T_{k} (x)} $$
(12)

\( \bar{x}_{l} \) are the interpolation nodes and p n-1(x) is a (n-1)-degree approximation of the function k(x). Using this kind of interpolation scheme, Eq. (7) can be modified as

$$ g(x_{i} ) = \sum\limits_{l = 1}^{n} {S_{n} (\bar{x}_{l} ,x_{i} )\sum\limits_{m = 1}^{n} {{\mathbf{\rm K}}(\bar{x}_{l} ,\bar{y}_{m} )} } \sum\limits_{j = 1}^{M} {\rho_{j} S_{n} (\bar{y}_{m} ,y_{j} )}. $$
(13)

Equation (13) is the formula for a fast gravity forward modelling based on the FMM. If the interpolation is merely performed in the model domain, Eq. (13) can then be changed to the form as

$$ g(x_{i} ) = \sum\limits_{m = 1}^{n} {{\mathbf{\rm K}}(x_{i} ,\bar{y}_{m} )} \sum\limits_{j = 1}^{M} {\rho_{j} S_{n} (\bar{y}_{m} ,y_{j} )}. $$
(14)

Referring to the founding article of the BBFMM (Fong and Darve 2009), the above formals are also appropriate for high-dimension problems by taking a tensor product of the interpolating functions. Our work aims to establish a method for fast generalized nonlinear 3D inversion of gravity data. In this case, Eq. (14) can be changed to

$$ g({\mathbf{x}}) = \sum\limits_{m = 1}^{n} {{\mathbf{\rm K}}({\mathbf{x}},{\bar{\mathbf{y}}}_{m} )} \sum\limits_{j = 1}^{M} {\rho_{j} S_{n} ({\bar{\mathbf{y}}}_{m} ,{\mathbf{y}}_{j} )}, $$
(15)

where the interpolation function in model domain is the product of the interpolations in three different directions, which has a form as

$$ S_{n} ({\bar{\mathbf{y}}}_{m} ,{\mathbf{y}}_{j} ) = S_{n} (\bar{y}_{m1} ,y_{j1} )S_{n} (\bar{y}_{m2} ,y_{j2} )S_{n} (\bar{y}_{m3} ,y_{j3} ). $$
(16)

For modelling and inversion of gravity data with the FMM, there exists two kinds of subdivisions in the model domain. One of these is the subdivision from the inversion algorithm. The divided cells would be considered as different particles for the FMM. The subsurface is approximated by these cells. The other subdivision originates from the FMM, which can be accomplished by the tree structure. This subdivision provides an efficient approach for management of the cells obtained from the inversion algorithm.

To evaluate effectiveness of the forward modelling algorithm described above, a combined synthetic density model was established for modelling and will also be utilized for inversion in the next section. The density model consists of two different bodies embedded at different depths beneath the surface, and the density of uniform background is zero. Table 1 shows its geometric and physical parameters. Figure 3a is a perspective view of this model. For forward modelling, the observation surface is set above the model domain over a grid of 1000 × 1000 m with sample spacing of 5 m, so there are 40,000 data points in total. The forward modelling was calculated with FMM-based fast algorithm as well as the conventional integral equation method for testing the fast algorithm’s accuracy and comparing their efficiency.

Table 1 Parameters of the synthetic density model
Fig. 3
figure 3

a Three-Dimensional perspective view of the synthetic density model; b tree structure subdivision of the horizontal plane with height 3; c tree structure subdivision of the horizontal plane with height 4; d tree structure subdivision of the horizontal plane with height 5

The model domain in this study was wholly considered as far-away from the evaluation points. The model domain was firstly divided into a mesh with 100 × 100 × 100 cubes which were considered as the partials with different density values. For the FMM, the model domain was decomposed into 23n rectangle cubes, where n denotes height of the octree. The ‘density partials’ are contained in these rectangle cubes. Figure 3b–d shows the structures of these octrees in the horizontal plane. To evaluate the computation accuracy, the reference gravity data were computed by the conventional integral equation method as displayed in Eq. (1). The correlation coefficient between the data calculated by the fast algorithm and the reference data are utilized for quantitative evaluation of the calculation accuracy, which is defined as (Wang et al. 2014)

$$ r_{{m_{\text{FMM}} ,m_{\text{ref}} }} = \frac{{\sum\nolimits_{i = 1}^{M} {\sum\nolimits_{j = 1}^{N} {m_{\text{FMM}} (x_{i} ,y_{j} )m_{\text{ref}} (x_{i} ,y_{j} )} } }}{{\sqrt {\sum\nolimits_{i = 1}^{M} {\sum\nolimits_{j = 1}^{N} {m_{\text{FMM}}^{2} (x_{i} ,y_{j} )\sum\nolimits_{i = 1}^{M} {\sum\nolimits_{j = 1}^{N} {m_{\text{ref}}^{2} (x_{i} ,y_{j} )} } } } } }}, $$
(17)

where m FMM is the gravity data calculated with fast algorithm, m ref is the reference gravity data, parameters M and N denote for the number of data points in the north and east directions, respectively.

The main parameters that affect the calculation accuracy and speed include the height of the tree structure and the number of Chebyshev node. First, different octree heights were used to test their effects on the calculation accuracy and speed. In this test, the number of Chebyshev node was set as 4. The left vertical axis and the solid line in Fig. 4a show the calculated correlation coefficients for different octree heights, which grow gradually with the octree height. When the height is large enough, the correlation coefficient is very close to 1 indicating the high accuracy of the fast modelling method. The right vertical axis and the dashed line in Fig. 4a show the execution time for the modelling problems with different octree heights. It can be noted that the execution time also has a positive correlation with the octrees heights. In short, the larger the octree height is, the higher the calculation precision, and the more the execution time. Moreover, different numbers of Chebyshev node were used to test their effects on the calculation accuracy and speed. In this test, the octree height was set as 6. The solid line and dashed line in Fig. 4b show the correlation coefficients and the execution time obtained with different numbers of Chebyshev node, respectively. It can be seen that both the correlation coefficients and the execution time grow gradually with the numbers of Chebyshev node. However, the growth rates of the curves in Fig. 4b are not as rapid as those in Fig. 4a. It indicates that the accuracy of the fast modelling method is not so sensitive to the numbers of Chebyshev node compared with the heights of the octree. For a fast computation with high accuracy, one should balance the optimal parameters. Figure 5a shows the reference gravity data computed by the conventional integral equation method. To make it consistent with the inversion process, the model domain was divided into a mesh posing 100 × 100 × 100 cubes. And the density model is simulated by the combination of these smaller cubes. For such a large-scale forward modelling problem, it consumed about 2000s which is much greater than the fast modelling method. Figure 5b is the gravity data calculated by the fast forward modelling method with 4 Chebyshev nodes and the octree height being 6. The similarity of these two datasets is evaluated by the correlation coefficient between them, which is very close to 1. This model test verifies the effectiveness of the FMM-based fast forward modelling method.

Fig. 4
figure 4

Black dotted lines denote correlation coefficients between the anomaly calculated by the fast algorithm and the reference gravity anomaly, black solid lines denote the execution time, a Chebyshev node is 4 and octree height varies from 3 to 7; b octree height is 6 and Chebyshev node varies from 3 to 7

Fig. 5
figure 5

a Reference gravity anomaly computed by the conventional integral equation method; b gravity anomaly calculated by the FMM-based fast algorithm with Chebyshev nodes 4 and octree height 6. The black rectangles denote the real position of the synthetic model

2.2 Fast Generalized Inversion Method and Synthetic Tests

In this section, the former introduced fast forward modelling scheme was employed to establish a fast inversion algorithm. The forward problem can be expressed as the matrix form as

$$ {\mathbf{d}} = {\mathbf{Gm}}, $$
(18)

where G is the forward operator (namely kernel matrix) that maps the physical parameters space into the data domain, m is the vector of model parameters to be determined and d is the data vector. Using the approximation shown in Eqs. (15) and (18) can be expressed as

$$ {\mathbf{d}} = {\mathbf{G}}_{\zeta } {\mathbf{m}}_{\zeta }, $$
(19)

where G ζ denotes the modified kernel matrix whose entries depend on the relative position between the multipole expansion points (interpolation points) and the evaluation points, m ζ is the equivalent model parameters and the equivalent density models can be calculated with an interpolation process as shown by the second quadrature item at the right of Eq. (15). With iterative hierarchy division shown in Fig. 6a, the number of model cells whose densities to be determined can be greatly reduced. This operation improves the computing efficiency of the inversion, leading to a fast generalized nonlinear inversion method for gravity data.

Fig. 6
figure 6

a Sketch map showing the interpolation process in the model domain; b sketch map showing the interpolation process in the model domain

Then, the inverse problem is equationed by minimization of the penalized least-squares Tikhonov parametric functional as

$$ {\mathbf{m}}_{\zeta } = \arg \hbox{min} \left\{ {\phi_{d} + \alpha \phi_{m} } \right\} = \arg \hbox{min} \left\{ {\left\| {{\mathbf{W}}_{d} ({\mathbf{G}}_{\zeta } {\mathbf{m}}_{\zeta } - {\mathbf{d}}_{\text{obs}} )} \right\|_{2}^{2} + \alpha \left\| {{\mathbf{W}}_{m} {\mathbf{m}}_{\zeta } } \right\|_{2}^{2} } \right\}, $$
(20)

where ϕ d  = ‖W d (Gm ζ  − d obs)‖ 22 is the weighted data misfit function, ϕ m  = ‖W m m ζ 22 is the model objective function, W d  = diag(1/1σ 1·σ 1, 1/1σ 2·σ 2, …, 1/1σ n ·σ n ) is the diagonal data weighting matrix, σ i stands for the standard deviation of the noise in the ith observation data, W m is the regularization matrix consisting of the depth-weighting function and a chosen model norm term, α is the regularization parameter that controls the relative balance between the data misfit function and the model objective function. Equation (20) can also be written as

$$ \begin{aligned} {\mathbf{m}}_{\zeta } & = \arg \hbox{min} \left\{ {\phi_{d} + \alpha \phi_{m} } \right\} \\ & = \arg \hbox{min} \left\{ {({\mathbf{G}}_{\zeta } {\mathbf{m}}_{\zeta } - {\mathbf{d}}_{obs} )^{T} {\mathbf{D}}^{ - 1} ({\mathbf{G}}_{\zeta } {\mathbf{m}}_{\zeta } - {\mathbf{d}}_{obs} ) + \alpha ({\mathbf{m}}_{\zeta } - {\mathbf{m}}_{0} )^{T} {\mathbf{W}}^{ - 1} ({\mathbf{m}}_{\zeta } - {\mathbf{m}}_{0} )} \right\} \\ \end{aligned}, $$
(21)

where D = (W T d W d )−1 is the data weighting matrix consisting of the estimated data-error variances, W = (W T m W m )−1 is the model weighting matrix consisting of depth-weighting function and a model norm term. Here, the utilized depth-weighting function has a form as

$$ Z\left( {({\mathbf{m}}_{\zeta } )_{i} } \right) = {\raise0.7ex\hbox{$1$} \!\mathord{\left/ {\vphantom {1 {z_{i}^{2} }}}\right.\kern-0pt} \!\lower0.7ex\hbox{${z_{i}^{2} }$}}, $$
(22)

where z i is the depth for a special compressed equivalent source. And the model norm term is the Cauchy norm as

$$ P({\mathbf{m}}_{\zeta } ) = \sum\limits_{i = 1}^{n} {\ln (1 + ({\mathbf{m}}_{\zeta } )_{i}^{2} /\beta^{2} )}, $$
(23)

where β is a parameter which controls the smoothness of the obtained solution.

The least-squares solutions of Eq. (21) can be obtained by using various optimization algorithms. As introduced by Tarantola (1987), the dimensionality of the above problem can be reduced effectively using a well-known matrix identity. This feature has been adopted by Pilkington (2009) to form a dataspace method for the inversion of magnetic data. Here in this study, the efficient dataspace method was exploited to solve the total objective function. Differentiating Eq. (21) with respect to the model parameters yields the iterative form of the solution as

$$ \left( {{\mathbf{m}}_{\zeta } } \right)_{k} = \left( {{\mathbf{m}}_{\zeta } } \right)_{0} + \Delta \left( {{\mathbf{m}}_{\zeta } } \right)_{k}, $$
(24)

where Δ(m ζ ) k is the model correction at iteration k which can be written as

$$ \Delta \left( {{\mathbf{m}}_{\zeta } } \right)_{k} = \gamma {\mathbf{Q}}_{k} {\mathbf{S}}_{k}^{T} {\mathbf{G}}_{\zeta }^{T} \left( {{\mathbf{G}}_{\zeta } {\mathbf{S}}_{k} {\mathbf{Q}}_{k} {\mathbf{S}}_{k}^{T} {\mathbf{G}}_{\zeta }^{T} + {\mathbf{D}}} \right)^{ - 1} \times \left( {{\mathbf{G}}_{\zeta } \left( {{\mathbf{m}}_{\zeta } } \right)_{k} - {\mathbf{d}}_{obs} + {\mathbf{G}}_{\zeta } {\mathbf{S}}_{k} \left[ {\left( {{\mathbf{m}}_{\zeta } } \right)_{k} - \left( {{\mathbf{m}}_{\zeta } } \right)_{0} } \right]} \right). $$
(25)

In this equation, Q k is a diagonal matrix with elements

$$ \left( {{\mathbf{Q}}_{k} } \right)_{{ii}} = \left( {\begin{array}{*{20}c} \cdots & {} & {} \\ {} & {z_{i}^{2} (1 + ({\mathbf{m}}_{\zeta } )_{i}^{2} /\beta ^{2} )} & {} \\ {} & {} & \cdots \\ \end{array} } \right) $$
(26)

and S k is a diagonal matrix utilized to impose the bound restrictions. In this study, a generic transform function was used to accomplish this, which can be written as (Commer 2011)

$$ x^{\prime} = \frac{a + c\exp (hx)}{1 + \exp (hx)}, $$
(27)

where x is the initial model parameter and x is the transformed one, a and c are the specified lower and upper limits, h controls how fast the transform from a to c is. S k can be obtained by differentiating the above transform function with respect to the model parameters as

$$ \left( {{\mathbf{S}}_{k} } \right)_{ii} = \left( {\begin{array}{*{20}c} \cdots & {} & {} \\ {} & {{{\left( {(c - a)h\exp (({\mathbf{m}}_{\zeta } )_{i} )} \right)} \mathord{\left/ {\vphantom {{\left( {(c - a)h\exp (({\mathbf{m}}_{\zeta } )_{i} )} \right)} {\left[ {1 + \exp (h({\mathbf{m}}_{\zeta } )_{i} )} \right]^{2} }}} \right. \kern-0pt} {\left[ {1 + \exp (h({\mathbf{m}}_{\zeta } )_{i} )} \right]^{2} }}} & {} \\ {} & {} & \cdots \\ \end{array} } \right). $$
(28)

For simplicity, Eq. (25) can be expressed in a compact form as

$$ \Delta \left( {{\mathbf{m}}_{\zeta } } \right)_{k} = \gamma {\mathbf{Q}}_{k} {\mathbf{S}}_{k}^{T} {\mathbf{G}}_{\zeta }^{T} {\mathbf{b}}_{k}, $$
(29)

where

$$ {\mathbf{b}}_{k} = \left( {{\mathbf{G}}_{\zeta } {\mathbf{S}}_{k} {\mathbf{Q}}_{k} {\mathbf{S}}_{k}^{T} {\mathbf{G}}_{\zeta }^{T} + {\mathbf{D}}} \right)^{ - 1} \times \left( {{\mathbf{G}}_{\zeta } \left( {{\mathbf{m}}_{\zeta } } \right)_{k} - {\mathbf{d}}_{obs} + {\mathbf{G}}_{\zeta } {\mathbf{S}}_{k} \left[ {\left( {{\mathbf{m}}_{\zeta } } \right)_{k} - \left( {{\mathbf{m}}_{\zeta } } \right)_{0} } \right]} \right). $$
(30)

Calculation of the inverse matrix for the first item in Eq. (30) is the most difficult part for getting the model correction shown in Eq. (29). For small-scale problem, this can be accomplished by the truncated singular value decomposition (TSVD) method. However, the TSVD is not suitable for large-scale problem. In our study, the preconditioned CG method is adopted. The optimal preconditioner is the inverse matrix calculation in Eq. (30). As what is described by Vogel (2002), using the diagonal element of a matrix to approximate the initial matrix for calculating its inverse is possible. The number of CG iterations is set as 50 which is enough for most cases. With the above inversion method, the equivalent density vector can be obtained, which is located at the nodes of Chebyshev interpolation in each level of the octree. To achieve the finally density model on the fine mesh in the model domain, an interpolation should be performed.

Gravity data induced by the density model described above were utilized to evaluate the fast inversion method. The data were gathered over a grid of 1000 × 1000 m with sample spacing of 5 m, so there are 40,000 data points in total. Meanwhile, random noise with amplitude equal to 6% of the maximum data amplitude has been introduced to test the stability of the inversion method. The subsurface was discretized into 50 × 50 × 50 rectangular prisms. The inverse problem has been solved by the algorithm described in the preceding section in which height of the octree is 4 and the number of Chebyshev node is 3. For comparison, the objective function has a similar form as Eq. (20) with the original model parameters been solved via a standard least-square method leading to a model space method.

The recovered density models using different inversion algorithms are displayed in Fig. 7 with two vertical sections along profile PA and PB (white dashed lines in Fig. 5a). Figure 7a, b shows the predicted gravity data by different recovered density models along PA and PB, which all fit the original gravity data well. Figure 7c, d shows the inversion results obtained from the conventional model space method, and Fig. 7e, f shows the inversion results obtained from the proposed fast inversion method. It can be seen that all of the recovered bodies match with real location of the synthetic density bodies adequately. Owing to the sparseness introduced by the Cauchy norm, the inversion result given by the fast method is much compact compared with the conventional one. This synthetic test indicated that the fast inversion method can establish acceptable reconstruction of the synthetic multisource bodies at different depth levels below the surface.

Fig. 7
figure 7

a Predicted gravity anomaly with different inversion algorithms along profile PA; b predicted gravity anomaly with different inversion algorithms along profile PB; c inversion result obtained from conventional model space algorithm along profile PA; d inversion result obtained from conventional model space algorithm along profile PB; e inversion result obtained from the proposed fast inversion algorithm along profile PA; f inversion result obtained from the proposed fast inversion algorithm along profile PB

The above tests were performed on a computer with 24 GB RAM, 3.60 GHz processor. For an inverse problem of such scale, the running time of the conventional model space method is about 1135 s. While for the fast method, it consumes approximate 595 s. The inversion result obtained by the fast method is similar to that of the conventional method, while it is about 47% faster. Therefore, the proposed fast generalized inversion method is more computationally efficient. Moreover, the same gravity data with different model domain divisions were inverted to further compare their efficiencies. Figure 8 shows the execution time of the above two inversion methods for different scale inversion problems. For inversions with relatively large scale, the proposed fast method shows a huge advantage on computational efficiency.

Fig. 8
figure 8

Execution time of the conventional model space algorithm and the proposed fast inversion algorithm for inversion problems with different scales

3 Inversion for 3D Crustal Density Structure of the Sichuan Basin

In this section, the proposed fast inversion method was applied for the 3D crustal density structure of the Sichuan basin. The Sichuan basin locates at the intersection area of the Qinghai–Tibet Block, the South China Block and the North China Block and is surrounded by a series of active thrust and strike-slip fault systems, such as the Longmenshan Fault Zone, the Qinling Orogenic Belt, the Sanjiang Orogen and the Songpan–Ganzi Orogen (Fig. 9) (Allen et al. 1991; Burchfiel et al. 1995; Wen et al. 2008; Wang et al. 2016). During the past few decades, many earthquakes with high magnitudes have occurred in the Sichuan basin and its adjacent area, such as the 2008 M w 7.9 Wenchuan earthquake (Wang et al. 2016). All of these earthquakes produced enormous economic losses and brought great damages. Hence, studying of the crustal structure of the Sichuan basin and its adjacent area is of great significances for improving seismic hazard assessment. Many geophysical methods are effective for studying the crustal structure, one of which is the gravity method. However, few published literature has established the 3D density structure of the entire Sichuan basin. Gravity inversion of such a large area with dense mesh is very time consuming. In this study, the former introduced fast inversion method was conducted on the gravity data of this area, hoping to obtain the fine crustal density structure of the Sichuan basin and its adjacent area. This density structure provides reference for follow-up studies.

Fig. 9
figure 9

Regional tectonic position of the Sichuan Basin, base map of this figure is the topography data at 30 arc seconds resolution extracted from the dataset introduced in Becker et al. (2009)

The utilized gravity data were extracted from the world gravity database WGM2012 (Balmino et al. 2012). With gridding, we obtained the gridded Bouguer gravity anomalies for the broader area of Sichuan basin, which covers the region from 33°N to 27°N and 102°E to 110°E (Fig. 10a). The WGM2012 gravity model is derived from the available earth global gravity models and it also includes 1′ × 1′ resolution terrain correction derived from elevation model ETOPO1 which considers the contribution of most surface masses (air, lands, oceans, lakes, glacial lids and ice shelves) (Amante and Eakins 2009). The gravity data have been computed by means of a spherical harmonic approach using theoretical developments carried out to achieve accurate computations at global scale. Before inversion, effects generated by the deep sources should be separated from the Bouguer gravity anomaly to get the residual gravity anomaly owing to the density inhomogeneity of the crust. In this study, the forward stripping method was employed. Depth of the Moho interface in the research area was extracted from Guo et al. (2012), shown in Fig. 10b, which was inverted with constraints from deep seismic detections. The effects generated by the Moho interface was calculated by the fast forward method in frequency domain which was proposed by Parker (1973). For computation, the average density of the lower crust above the Moho interface was set as 2.67 × 103 kg/m3, and the average density of upper mantle was set as 3.3 × 103 kg/m3. Figure 10c is the calculated gravity anomaly owing to undulation of the Moho interface. By subtracting this effect from the original Bouguer gravity anomaly, we got the residual gravity anomaly of the research area (Fig. 10d). Following generalized inversion would be performed on these data to get the 3D crustal density structure of the Sichuan basin.

Fig. 10
figure 10

a Bouguer gravity anomaly of the research area, which covers the region from 33°N to 27°N and 102°E to 110°E; b depth of the Moho interface in the research area; c calculated gravity anomaly owing to undulation of the Moho interface; d residual gravity anomaly of the research area

For inversion, there were about 200,000 data points, and the subsurface was discretized into 200 × 200 × 40 rectangular prisms. The inverse problem has been solved by the algorithm described in the preceding section in which height of the octree is 4 and the number of Chebyshev node is 3. For such a large-scale problem, the inversion process can be accomplished in less than 40000 s. Figure 11 shows different horizontal density slices extracted from the 3D crustal density structure of the Sichuan basin at different depths (from 2 to 35 km). It can be seen that the density is characterized by lateral and vertical heterogeneity in the crust. Above the depth of 5 km, the major density inhomogeneity exists in the Longmenshan (LMS) fault zone which is located at the west margin of the Sichuan basin. For the area of LMS fault, the density inhomogeneity extends to the lower crust. It indicates that the LMS fault is a deep fracture which cuts through the crust. In the middle-lower crust, characteristics of the density distribution indicate that the Sichuan basin can be divided into six different regions, as shown in Fig. 11 (marked as I–VI). Boundaries of these regions show good accordance with major faults in Sichuan basin. For instance, the common boundary among region I, region V, region VI, region IV and region III is the Huayingshan fault. The common boundary among region II, region V and region VI is the Longquanshan fault. The common boundary among region V, region III, region VI and region VI is the Chengdu–Lezhi fault. The east margin of region III and region IV is the Qiyaoshan fault. The west margin of region II is the LMS fault. The south margin of region VI and region IV is the Ya’an–Yibin fault. The north margin of region III is the Dabashan fault. Moreover, scales of these faults can also be noted from this 3D density structure. Outlines of different regional structures can roughly be recognized.

Fig. 11
figure 11

Horizontal density slices extracted from the three-Dimensional crustal density structure of the Sichuan basin at different depths, a 2 km; b 5 km; c 10 km; d 15 km; e 25 km; f 35 km

According to the inversion result, the middle and lower crusts of Sichuan basin have the characteristic of isolated distribution. These blocks may correspond to the several continental cores beneath Sichuan basin with different basement materials, and this interpretation is similar to the description in Xiong et al. (2015). Also, these blocks are completely preserved, which indicates that the major faults which existed in Sichuan Basin are the boundaries of these blocks as described above. These faults have obvious ore-controlling effects for detection. The density structure presented in this study helps understanding the basement structure and division of tectonic units in Sichuan basin and provides reference for further studies in this area.

4 Conclusions and Discussions

In this study, a novel inversion framework for fast generalized nonlinear inversion of gravity data was developed. The FMM technique was employed for fast forward modelling. The inversion objective function was established with weighted data misfit function along with model objective function. A fast dataspace inversion algorithm was utilized for solving the total inversion function. A combined density model was established to test the fast forward modelling method, and the synthetic gravity data induced by this model were utilized to test the inversion method. Inversion of noise-contaminated synthetic data showed that the new method is a more efficient method than the conventional model space inversion method to produce an acceptable solution in generalized inversion of gravity data. Furthermore, the introduced fast inversion method was applied to establish the 3D crustal density structure of Sichuan basin, southwest China. Inferring from the obtained density model, the middle and lower crusts in Sichuan basin have the characteristics of isolated distribution with several obvious regions whose boundaries are consistent enough with the available major faults that existed in Sichuan Basin.

Though the presented method can improve the computational efficiency of the gravity inversion problem. For great large-scale inversion problem, it is still very time consuming. Therefore, it is suggested that a data sampling technique is used with the fast inversion method, which can reduce the dimension of the dataspace greatly. Also, the program of the fast inversion method can be parallelized with GPU or MPI techniques to make it even more efficient for large-scale problems.