Minimize difference between and g d r=g−d Residual vector Datamisfit function: ϕ( p)=∥r∥2 = (∑ i=1 N (g i −d i )2 )1 2 ℓ2norm of r Leastsquares fit ϕ( p)=∥r∥1 =∑ i=1 N ∣g i −d i ∣ ℓ1norm of r

Minimize difference between and g d r=g−d Residual vector Datamisfit function: ϕ( p)=∥r∥2 = (∑ i=1 N (g i −d i )2 )1 2 ℓ2norm of r Leastsquares fit ϕ( p)=∥r∥1 =∑ i=1 N ∣g i −d i ∣ ℓ1norm of r Robust fit

Constraints: 1. Compact no holes inside 2. Concentrated around “seeds” ● Userspecified prisms ● Given density contrasts ● Any # of ≠ density contrasts ρs

Constraints: 1. Compact no holes inside 2. Concentrated around “seeds” ● Userspecified prisms ● Given density contrasts 3. Only ● Any # of ≠ density contrasts or p j =0 p j =ρs ρs

Constraints: 1. Compact no holes inside 2. Concentrated around “seeds” ● Userspecified prisms ● Given density contrasts 3. Only ● Any # of ≠ density contrasts or p j =0 p j =ρs ρs 4. of closest seed p j =ρs

Wellposed problem: Minimize goal function Γ( p)=ϕ( p)+μθ( p) Regularizing function θ( p)=∑ j=1 M p j p j +ϵ l j β Similar to Silva Dias et al. (2009) Distance between jth prism and seed

Wellposed problem: Minimize goal function Γ( p)=ϕ( p)+μθ( p) Regularizing function θ( p)=∑ j=1 M p j p j +ϵ l j β Similar to Silva Dias et al. (2009) Distance between jth prism and seed Imposes: ● Compactness ● Concentration around seeds

Constraints: 1. Compact 2. Concentrated around “seeds” Regularization Algorithm 3. Only or p j =0 p j =ρs 4. of closest seed p j =ρs Based on René (1986)

Setup: seeds N S Define interpretative model All parameters zero Include seeds Compute initial residuals r(0)=g−d(0) Prisms with not shown p j =0 g = observed data d = predicted data

Setup: seeds N S Define interpretative model All parameters zero Include seeds Compute initial residuals r(0)=g−d(0) Prisms with not shown p j =0 g = observed data Predicted by seeds d = predicted data

Setup: seeds N S Define interpretative model All parameters zero Include seeds Compute initial residuals Prisms with not shown p j =0 g = observed data d = predicted data r(0)=g− (∑ s=1 N S ρ s a j S )

seeds N S Define interpretative model All parameters zero Include seeds Compute initial residuals r(0)=g− (∑ s=1 N S ρ s a j S ) Prisms with not shown g = observed data d = predicted data Neighbors Find neighbors of seeds p j =0 Setup:

Prisms with not shown Try accretion to sth seed: 1. Reduce data misfit 2. Smallest goal function p j =ρ s j = chosen Choose neighbor: p j =0 Growth: (New elements) j

Prisms with not shown Try accretion to sth seed: 1. Reduce data misfit 2. Smallest goal function p j =ρ s j = chosen Choose neighbor: p j =0 Growth: (New elements) j Update residuals r(new)=r(old )− p j a j

Prisms with not shown Try accretion to sth seed: 1. Reduce data misfit 2. Smallest goal function p j =ρ s j = chosen Choose neighbor: p j =0 Growth: (New elements) j Update residuals r(new)=r(old )− p j a j Contribution of j

Prisms with not shown Try accretion to sth seed: 1. Reduce data misfit 2. Smallest goal function p j =ρ s j = chosen Choose neighbor: p j =0 Growth: (New elements) j Update residuals r(new)=r(old )− p j a j Variable sizes None found = no accretion

Prisms with not shown None found = no accretion N S Try accretion to sth seed: 1. Reduce data misfit 2. Smallest goal function p j =ρ s j = chosen Update residuals r(new)=r(old )− p j a j Choose neighbor: p j =0 Growth: (New elements)

Prisms with not shown None found = no accretion N S Try accretion to sth seed: 1. Reduce data misfit 2. Smallest goal function p j =ρ s j = chosen Update residuals r(new)=r(old )− p j a j Choose neighbor: p j =0 Growth: j (New elements)

Prisms with not shown None found = no accretion N S Try accretion to sth seed: 1. Reduce data misfit 2. Smallest goal function p j =ρ s j = chosen Update residuals r(new)=r(old )− p j a j Choose neighbor: At least one seed grow? p j =0 Growth: j (New elements)

Prisms with not shown None found = no accretion N S Try accretion to sth seed: 1. Reduce data misfit 2. Smallest goal function p j =ρ s j = chosen Update residuals r(new)=r(old )− p j a j Choose neighbor: At least one seed grow? Yes p j =0 Growth: j (New elements)

Prisms with not shown None found = no accretion N S Try accretion to sth seed: 1. Reduce data misfit 2. Smallest goal function p j =ρ s j = chosen Update residuals r(new)=r(old )− p j a j Choose neighbor: At least one seed grow? Yes No p j =0 Growth: Done! j (New elements)

Remember equations: r(0)=g− (∑ s=1 N S ρ s a j S ) r(new)=r(old)− p j a j Initial residual Update residual vector No matrix multiplication (only vector +)

No matrix multiplication (only vector +) Remember equations: r(0)=g− (∑ s=1 N S ρ s a j S ) r(new)=r(old)− p j a j Initial residual Update residual vector Only need some columns of A

No matrix multiplication (only vector +) Remember equations: r(0)=g− (∑ s=1 N S ρ s a j S ) r(new)=r(old)− p j a j Initial residual Update residual vector Only need some columns of A Calculate only when needed

No matrix multiplication (only vector +) Remember equations: r(0)=g− (∑ s=1 N S ρ s a j S ) r(new)=r(old)− p j a j Initial residual Update residual vector Only need some columns of A Calculate only when needed & delete after update

No matrix multiplication (only vector +) Remember equations: r(0)=g− (∑ s=1 N S ρ s a j S ) r(new)=r(old)− p j a j Initial residual Update residual vector Only need some columns of A Calculate only when needed Lazy evaluation & delete after update

Advantages: Compact & nonsmooth Any number of sources Any number of different density contrasts No large equation system Search limited to neighbors No matrix multiplication (only vector +) Lazy evaluation of Jacobian

Advantages: Compact & nonsmooth Any number of sources Any number of different density contrasts No large equation system Search limited to neighbors No matrix multiplication (only vector +) Lazy evaluation of Jacobian Fast inversion + low memory usage

● Common scenario ● May not have prior information ● Density contrast ● Approximate depth ● No way to provide seeds ● Difficult to isolate effect of targets

Inversion: ● 7,803 data ● 37,500 prisms ● 13 seeds ● Recover shape of targets ● Total time = 2.2 minutes (on laptop) Only prisms with zero density contrast not shown

Inversion: ● 46 seeds ● 13,746 data ● 164,892 prisms ● Agree with previous interpretations (Martinez et al., 2010) ● Total time = 14 minutes (on laptop)

● New 3D gravity gradient inversion ● Multiple sources ● Interfering gravitational effects ● Nontargeted sources ● No matrix multiplications ● No linear systems ● Lazy evaluation of Jacobian matrix Conclusions