Files
simpeg/notebooks/2DinvDC.ipynb
T
seogi_macbook fc0a413b3c blah
2015-11-10 14:30:07 -08:00

546 lines
104 KiB
Plaintext

{
"cells": [
{
"cell_type": "code",
"execution_count": 47,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"from SimPEG import *\n",
"import simpegDCIP as DC\n",
"from numpy.polynomial import polynomial"
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Populating the interactive namespace from numpy and matplotlib\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"WARNING: pylab import has clobbered these variables: ['linalg', 'inv']\n",
"`%matplotlib` prevents importing * from pylab and numpy\n"
]
}
],
"source": [
"%pylab inline"
]
},
{
"cell_type": "code",
"execution_count": 49,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"cs = 0.5\n",
"mesh = Mesh.TensorMesh([np.ones(100)*cs, np.ones(50)*cs], \"CN\")\n",
"x = mesh.vectorCCx"
]
},
{
"cell_type": "code",
"execution_count": 50,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"actx = (x>-15.)&(x<15.)"
]
},
{
"cell_type": "code",
"execution_count": 98,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"order = 3\n",
"Vobs = polynomial.polyvander(x, order)\n",
"dobs = 0.05*x-4\n",
"H = np.dot(Vobs.T, Vobs)\n",
"g = np.dot(Vobs.T, dobs)\n",
"mest = np.linalg.solve(H, g)"
]
},
{
"cell_type": "code",
"execution_count": 99,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"dpred = Vobs.dot(mest)"
]
},
{
"cell_type": "code",
"execution_count": 100,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"V = polynomial.polyvander(x, order)\n",
"m1D = Mesh.TensorMesh([V.shape[1]+2])\n",
"weight = (1./(V**2).sum(axis=0))**0.5\n",
"weight = weight / weight.max()\n",
"weightmap = Maps.Weighting(m1D, weights=np.r_[1., 1., weight])\n",
"m0_poly = np.r_[np.log(1e-3), np.log(1e-3), np.r_[-3., np.zeros(V.shape[1]-1)] / weight]\n",
"mtrue_poly = np.r_[np.log(1e-3), np.log(1e0), mest / weight]"
]
},
{
"cell_type": "code",
"execution_count": 101,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"polymap = Maps.PolyMap(mesh, V.shape[1]-1, logSigma=True, normal='Y')\n",
"mappingfwd = polymap*weightmap\n",
"mapping = Maps.ExpMap(mesh)"
]
},
{
"cell_type": "code",
"execution_count": 102,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"sigma = mappingfwd*mtrue_poly"
]
},
{
"cell_type": "code",
"execution_count": 103,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"xr = np.linspace(-15, 15, 20)\n",
"xz_A = Utils.ndgrid(xr, np.r_[-0.25])\n",
"xz_B = Utils.ndgrid(np.ones_like(xr)*22, np.r_[-0.25])\n",
"xz_M = Utils.ndgrid(xr, np.r_[-0.25])\n",
"xz_N = Utils.ndgrid(np.ones_like(xr)*-22, np.r_[-0.25])\n",
"\n",
"ntx = xz_A.shape[0]\n",
"txList = []\n",
"for i in range(ntx):\n",
" offset = abs(xz_A[i,0]-xz_M[:,0])\n",
" actrx = offset > 5.\n",
" rx = DC.RxDipole(xz_M[actrx,:], xz_N[actrx,:])\n",
" src = DC.SrcDipole([rx], xz_A[i,:], xz_B[i,:])\n",
" txList.append(src)"
]
},
{
"cell_type": "code",
"execution_count": 104,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x10c7a9210>]"
]
},
"execution_count": 104,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n5HA3M6uh/w9x5JF4EBHHlQAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10ab76b50>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"dat = mesh.plotImage(np.log10(sigma), clim=(-2, 0))\n",
"plt.colorbar(dat[0])\n",
"plot(xz_A[:,0], xz_A[:,1], 'w.')\n",
"plot(xz_B[:,0], xz_B[:,1], 'y.')\n",
"plot(xz_N[:,0], xz_N[:,1], 'r.')"
]
},
{
"cell_type": "code",
"execution_count": 105,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x10c039b50>]"
]
},
"execution_count": 105,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10bfe44d0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"dat = mesh.plotImage(np.log10(mappingfwd*m0), clim=(-2, 0))\n",
"plt.colorbar(dat[0])\n",
"plot(xz_A[:,0], xz_A[:,1], 'w.')\n",
"plot(xz_B[:,0], xz_B[:,1], 'y.')\n",
"plot(xz_N[:,0], xz_N[:,1], 'r.')"
]
},
{
"cell_type": "code",
"execution_count": 106,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from pymatsolver import MumpsSolver"
]
},
{
"cell_type": "code",
"execution_count": 107,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x10d8c2d90>]"
]
},
"execution_count": 107,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nH8HoESHmL2znvvuSP/eMxTPY78/70drdyozvzqA0VApY9/3f5wXQRPnu2T0pf2bX/vNajnjoCH55\n2C+ZPnV673uvvAIvPJvLzLdTK/PctXM54YkT+PW/fs1rZ73GtAnTet/76U/h7psrWb4xeUQR1VFe\nWvAS+/95f2YunckH53/AriN3Bazf7RNPhPkfOkcUWmteX/w6X3ngKzz56ZO8e967vdHQxx/DiScq\n8rrdRRVLNy/lohcv4rjHjuO3R/2Wqw+1mv3eegsuughPUfz2yHYjFMABwEKt9VKtdTfwBHDiYF9k\nzhy4447MPrilS+HLL61zeWXhQvjGN+Dvf4dPPnFvt3mz9cfRqVu4/nrrD2nlSne2H8+NkBP0UZhT\nQFF5K6ecAt/8JmlHigDvz4qy374+jjoKCnIK+NFlrTz9tDXSdiISjUDUzxFHWPd68P6FtHS1cPPN\n8Pvfw3PPpbbtjnQTDpbyu9/Bz35mpeqK8gooHWXd+8knJ//8uiJdfLLuE351xK9YuVJxyinW9910\no49QMMS1N7Rx440wY8ZA2zvevwO/z8+L33qRvECIGTPg8MPhF7+AXSflU1zRxt57w8UX94/mtNYc\ndP9B/GfNf/jw/A/ZfdTudHXBLbfAVVfBX/4ChXn5/Oiydi65BBriJtF8ufFLDn/wcK7+59U8depT\nXHbQZQCsXg1nnAHd3XDh90MUFnewZg088USf7fwN87n0H5cy7o5xrNqyitkXzObIcUcC1u/KeedZ\nv6PHHpHPcSe2c9NN0Bkb3C9vWs6ds+5kyn1T+MGLP+CGqTfwxClPUJhTaJ17Phx5JHz7W4r8nDz+\n+WYnX8SWjNrSuYV/LPwHZz1zFvW31bO8eTkfff8jvrvnd2M/D3j2WTjrLLj4h7lsbuns/Xlrrfl8\n/efc+u6tfPX/fZVjHzmWw8cczuwLZrNX5V7WZ9gF11wDr74KZ3x9FA1NfY6+pauFmUtn8rNXf8bY\n28dy9YyrueqQq5jx3RmMDo/u/dmdfDIcdRQ0NVTxxar+EUVjeyOvL36dy165jAl/nMBP/vETLtzv\nQv597r97a0offwynngrnnw8d66tpaB4oFC1dLcxqmMVv3v4Nhz94OPveuy8FOQV88sNPOGO3MwCY\nNQu+/W34859h5MiBv3PZxPZUzK4GVsT9fyUwZbAvsmaNlfp46ik4+2zv9ps3W38M11xjjRRmzoRg\n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\nuA2o7hsAAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10cd0a810>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"mtrue = np.log(sigma)\n",
"m0 = np.log(np.ones(mesh.nC)*1e-3)\n",
"survey = DC.SurveyDC(txList)\n",
"problem = DC.ProblemDC_CC(mesh, mapping = mapping)\n",
"problem.pair(survey)\n",
"problem.Solver = MumpsSolver\n",
"dtrue = survey.dpred(mtrue)\n",
"d0 = survey.dpred(m0)\n",
"plot(dtrue)\n",
"plot(d0)"
]
},
{
"cell_type": "code",
"execution_count": 108,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"0.004688525906217933"
]
},
"execution_count": 108,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"abs(dtrue).min()"
]
},
{
"cell_type": "code",
"execution_count": 109,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"(array([ 1., 2., 3., 4., 5., 4., 6., 7., 8., 9., 8.,\n",
" 10., 17., 17., 18., 33., 41., 30., 32., 17.]),\n",
" array([-2.32896368, -2.11250236, -1.89604103, -1.67957971, -1.46311839,\n",
" -1.24665706, -1.03019574, -0.81373442, -0.59727309, -0.38081177,\n",
" -0.16435044, 0.05211088, 0.2685722 , 0.48503353, 0.70149485,\n",
" 0.91795617, 1.1344175 , 1.35087882, 1.56734014, 1.78380147,\n",
" 2.00026279]),\n",
" <a list of 20 Patch objects>)"
]
},
"execution_count": 109,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10a2299d0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"hist(np.log10(abs(dtrue)), bins = 20)"
]
},
{
"cell_type": "code",
"execution_count": 110,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"noise = 0.05*abs(dtrue)*np.random.randn(dtrue.shape[0])"
]
},
{
"cell_type": "code",
"execution_count": 111,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"SimPEG.InvProblem is setting bfgsH0 to the inverse of the eval2Deriv.\n",
" ***Done using same solver as the problem***\n",
"============================ Inexact Gauss Newton ============================\n",
" # beta phi_d phi_m f |proj(x-g)-x| LS Comment \n",
"-----------------------------------------------------------------------------\n",
" 0 1.00e+00 1.40e+08 0.00e+00 1.40e+08 8.32e+06 0 \n",
" 1 1.00e+00 1.88e+07 6.18e-03 1.88e+07 1.13e+06 0 \n",
" 2 1.00e+00 2.52e+06 2.45e-02 2.52e+06 1.55e+05 0 Skip BFGS \n",
" 3 1.25e-01 3.50e+05 5.43e-02 3.50e+05 2.18e+04 0 Skip BFGS \n",
" 4 1.25e-01 6.62e+04 9.32e-02 6.62e+04 3.26e+03 0 Skip BFGS \n",
" 5 1.25e-01 1.56e+04 7.26e+00 1.56e+04 4.80e+02 1 Skip BFGS \n",
" 6 1.56e-02 4.47e+03 1.84e+01 4.47e+03 5.41e+02 1 \n",
" 7 1.56e-02 2.73e+03 4.08e+01 2.73e+03 2.91e+03 0 Skip BFGS \n",
" 8 1.56e-02 5.74e+02 3.75e+01 5.75e+02 2.97e+02 0 \n",
" 9 1.95e-03 3.37e+02 3.70e+01 3.37e+02 2.87e+02 0 Skip BFGS \n",
" 10 1.95e-03 2.47e+02 3.98e+01 2.47e+02 8.70e+01 0 \n",
" 11 1.95e-03 1.99e+02 3.89e+01 1.99e+02 1.22e+02 0 \n",
" 12 2.44e-04 1.60e+02 4.09e+01 1.60e+02 1.45e+02 0 \n",
" 13 2.44e-04 1.38e+02 4.20e+01 1.38e+02 8.79e+01 0 Skip BFGS \n",
"------------------------- STOP! -------------------------\n",
"1 : |fc-fOld| = 0.0000e+00 <= tolF*(1+|f0|) = 1.3961e+07\n",
"1 : |xc-x_last| = 1.1216e+00 <= tolX*(1+|x0|) = 4.8945e+01\n",
"0 : |proj(x-g)-x| = 8.7946e+01 <= tolG = 1.0000e-01\n",
"0 : |proj(x-g)-x| = 8.7946e+01 <= 1e3*eps = 1.0000e-02\n",
"0 : maxIter = 30 <= iter = 14\n",
"------------------------- DONE! -------------------------\n"
]
}
],
"source": [
"survey.dobs = dtrue +noise\n",
"dmis = DataMisfit.l2_DataMisfit(survey)\n",
"dmis.Wd = 1./(0.05*abs(dtrue)+ 0.1)\n",
"reg = Regularization.Tikhonov(mesh)\n",
"opt = Optimization.InexactGaussNewton(maxIter=30,maxIterLS=20)\n",
"opt.remember('xc')\n",
"invProb = InvProblem.BaseInvProblem(dmis, reg, opt)\n",
"betaSched = Directives.BetaSchedule(coolingFactor=8, coolingRate=3)\n",
"targetmis = Directives.TargetMisfit()\n",
"savemodel = Directives.SaveModelEveryIteration()\n",
"inv = Inversion.BaseInversion(invProb, directiveList=[betaSched,targetmis])\n",
"reg.alpha_s = 1e-5\n",
"reg.mref = m0\n",
"mopt = inv.run(m0)"
]
},
{
"cell_type": "code",
"execution_count": 112,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"XC = opt.recall('xc')"
]
},
{
"cell_type": "code",
"execution_count": 113,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"from ipywidgets import interact, IntSlider\n",
"def viewInv(iteration):\n",
" fig = plt.figure(num=0,figsize = (10,5))\n",
" ax = plt.subplot(111)\n",
" dat = mesh.plotImage(np.log10(mapping*XC[iteration]), grid=True, ax=ax, clim=(-3, 0), gridOpts={'alpha':0.2}, pcolorOpts={'cmap':cm.RdPu})\n",
"# ax.set_xlim(mesh.vectorNx.min(), mesh.vectorNx.max())\n",
"# ax.set_ylim(mesh.vectorNy.min(), mesh.vectorNy.max())\n",
" ax.plot(mesh.vectorCCx, dpred, 'r--')\n",
" ax.plot(xz_A[:,0], xz_A[:,1], 'k.')\n",
" ax.plot(xz_B[:,0], xz_B[:,1], 'r.')\n",
" ax.plot(xz_N[:,0], xz_N[:,1], 'b.') \n",
"# plt.colorbar(dat[0], ax=ax)\n",
"# ax.set_ylim (-15, 0.)\n",
"# ax.set_xlim (-15, 15.)\n",
" plt.show()\n",
" return True"
]
},
{
"cell_type": "code",
"execution_count": 114,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAmIAAAFHCAYAAAAC3yD+AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3XmUlfWd5/HPt9isqlssIrKJCwkuuAJqa7eimaQTNHZc\n0o5t+oyd2NFM45JJ21nAnsSeJCSOY08SO2biwiQniXqcNjpuJOI0thqNCkWMBg0gIksUDQK1gEBV\nfeeP51ZRVfdWUULV8/v9br1f53Coe+9Tz/dTPAG/uff7e37m7gIAAED+qkIHAAAAGKxoxAAAAAKh\nEQMAAAiERgwAACAQGjEAAIBAaMQAAAACibIRM7M5Zvaqma0ysy+HzgMAADAQLLb7iJnZEEm/l/QR\nSRslvSDpUnd/JWgwAACAfhbjO2KnSlrt7mvdfbekeySdHzgTAABAv4uxEZssaX2nxxuKzwEAAFSU\nGBuxuD4rBQAAGCBDQwcoY6OkKZ0eT1H2rlgHM6NZAwAAyXB3K/d8jI3YUknTzOxwSX+QdImkS7sf\n5DsaS75xWX2VZs1s69PzA3Vsf5zjyqu+pdu+Py/KbDH/ucVSr9z1iyVbDPVizvZ+/u7lnS3veilm\nG6h/O1P8s0ix3v7+2xnzn4VV15Uc1y66RszdW8zsakm/lDRE0p0xrpi06hpJWXN79uxmLfll2Dyp\nuPKqa7SsfrXGH1ytu368UKNHj96n83zj21dry9ZVqqne9/P0xzmk7GdauWp1x3n2VefzfOnvfyRp\n5D6fY/fuaj1y//79TPt7nWK61u15ul6nA4Oco/N5uE6lWTr/+Ya81p3Psz/XKaZrPShV12lm+9ez\nz5B+uShkmrJinBGTuy9y96Pc/YPu/q3Qecqzjl9PPFkbOkwyVq5arfrfPK1Fjy3WlVddu8/nWbd+\nlf79qf07T3+cQ8p+pv4+zzdvvGa/zvHMr/c/y/5ep5iudXue/T1Pf19rrlNplliudefz7M91iula\nD1Ydnwc++XTIGD2KshFLi+vs2c39esZZM87s1/PFpKa6WpJ08qyZuu3739vn8xxwwP6fpz/OIZX+\nTPt6/Tqf5/ov37Jf55h+dP/+TKHOIQ3cdSpnb9euv34mrtPAZGm/fjFdp5iudewG/L99s88Y2PPv\no+hu6NoXZuZLf9W/zc/79bm50rIXqzXrxB364a1BoySlsXGrvnnjNbr+y7eorm7f31rvj/PElKW/\n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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x11286c350>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"True"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"interact(viewInv, iteration = IntSlider(min=0, max=opt.iter-1,step=1, value=0))"
]
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"[<matplotlib.lines.Line2D at 0x10d8cdb50>]"
]
},
"execution_count": 46,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n8P+lWV/BXY4nkQAAAABJRU5ErkJggg==\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x10d8cd110>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"plt.plot(survey.dobs)\n",
"plt.plot(invProb.dpred)"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.10"
}
},
"nbformat": 4,
"nbformat_minor": 0
}