# l_curve_corner: L Curve Corner In PEIP: Geophysical Inverse Theory and Optimization

## Description

Retrieve corner of L-curve

## Usage

 `1` ```l_curve_corner(rho, eta, reg_param) ```

## Arguments

 `rho` misfit `eta` model norm or seminorm `reg_param` regularization parameter

## Value

 `reg_corner` the value of reg_param with maximum curvature `ireg_corner` the index of the value in reg_param with maximum curvature `kappa` the curvature for each reg_param

## Author(s)

Jonathan M. Lees<[email protected]>

## References

Aster, R.C., C.H. Thurber, and B. Borchers, Parameter Estimation and Inverse Problems, Elsevier Academic Press, Amsterdam, 2005.

## Examples

 ``` 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40``` ```#### Vertical Seismic Profile example set.seed(2015) VSP = vspprofile() t = VSP\$t2 G = VSP\$G M = VSP\$M N = VSP\$N L1 = get_l_rough(N,1); littleU = PEIP::GSVD(as.matrix(G), as.matrix(L1) ); BIGU = flipGSVD(littleU, dim(G), dim(L1) ) U1 = BIGU\$U V1 =BIGU\$V X1=BIGU\$X Lam1=BIGU\$C M1=BIGU\$S K1 = l_curve_tgsvd(U1,t,X1,Lam1,G,L1); rho1 =K1\$rho eta1 =K1\$eta reg_param1 =K1\$reg_param m1s =K1\$m ### % store where the corner is (from visual inspection) vcorn = l_curve_corner(rho1, eta1, reg_param1) ireg_corner1=vcorn\$reg_corner rho_corner1=rho1[ireg_corner1]; eta_corner1=eta1[ireg_corner1]; print(paste('1st order reg corner is: ',ireg_corner1)); plot(rho1,eta1,type="b", log="xy" , xlim=c(1e-4, 1e-2) , ylim=c(6e-6, 2e-4) , xlab="Residual Norm ||Gm-d||_2", ylab="Solution Seminorm ||Lm||_2" ); points(rho_corner1, eta_corner1, col='red', cex=2 ) ```

PEIP documentation built on Jan. 20, 2018, 9:03 a.m.