In [7]:
# Import Packages
from SimPEG import *
from IPython.html.widgets import interactive
import numpy as np
%pylab inline


Populating the interactive namespace from numpy and matplotlib
WARNING: pylab import has clobbered these variables: ['interactive', 'beta']
`%matplotlib` prevents importing * from pylab and numpy

In [31]:
beta_0=1000000 
beta=beta_0
m = np.array([1., 1])*beta
phid = np.dot(m.T,m)**0.5
phi_dstar=20
phid_mid = []
tol = 0.0001
i=1

while np.absolute(phid - phi_dstar)>tol:  
    m = np.array([1., 1])*beta                      #put fcn for m here
    phid = np.dot(m.T,m)**0.5                       #put fcn for phid here
    if phid>phi_dstar:
        beta = beta_0*0.5**i
    if phid<phi_dstar:
        beta_abv = beta_0*0.5**(i-2)
        beta_bel = beta_0*0.5**(i-1)
        beta_mid = 0.5*(beta_abv+beta_bel)
        mmid = np.array([1., 1])*beta_mid              #put fcn for m here
        phidmid = np.dot(mmid.T,mmid)**0.5             #put fcn for phid here
        while np.absolute(phidmid - phi_dstar)>tol:
            if phidmid<phi_dstar:
                beta_abv = beta_0*0.5**(i-2)
                beta_bel = beta_mid
                beta_mid = 0.5*(beta_abv+beta_bel)
                beta=beta_mid
                mmid = np.array([1., 1])*beta_mid      #put fcn for m here
                phidmid = np.dot(mmid.T,mmid)**0.5     #put fcn for phi here     
            if phidmid>phi_dstar:
                beta_abv = beta_mid
                beta_bel = beta_bel
                beta_mid = 0.5*(beta_abv+beta_bel)
                beta=beta_mid
                mmid = np.array([1., 1])*beta_mid      #put fcn for m here
                phidmid = np.dot(mmid.T,mmid)**0.5     #put fcn for phi here            
                if phidmid<phi_dstar:
                    beta_abv = beta_abv
                    beta_bel = beta_mid
                    beta_mid = 0.5*(beta_abv+beta_bel)
                    beta=beta_mid
                    mmid = np.array([1., 1])*beta_mid   #put fcn for m here
                    phidmid = np.dot(mmid.T,mmid)**0.5  #put fcn for phi here
            phid=phidmid
            m=mmid
    i=i+1   
print("At end beta=", beta,"phid=", phid)


('At end beta=', 14.142075087875128, 'phid=', 19.999914389371686)

In [28]:
beta_0=1000000 
beta=beta_0
m = np.array([1., 1])*beta
phid = np.dot(m.T,m)**0.5
phi_dstar=20
phid_mid = []
tol = 0.0001
i=1

while np.absolute(phid - phi_dstar)>tol:  
    print("At start beta=", beta)
    m = np.array([1., 1])*beta
    phid = np.dot(m.T,m)**0.5
    print("Start Itn",j, "beta=", beta, "phid=", phid)
    if phid>phi_dstar:
        beta = beta_0*0.5**i
    if phid<phi_dstar:
        beta_abv = beta_0*0.5**(i-2)
        beta_bel = beta_0*0.5**(i-1)
        beta_mid = 0.5*(beta_abv+beta_bel)
        mabv= np.array([1., 1])*beta_abv
        mbel= np.array([1., 1])*beta_bel
        mmid = np.array([1., 1])*beta_mid
        phidabv = np.dot(mabv.T,mabv)**0.5
        phidbel = np.dot(mbel.T,mbel)**0.5
        phidmid = np.dot(mmid.T,mmid)**0.5
        print("Itn # is:",j, "below threshold", "beta above=", beta_abv, "beta below=", beta_bel, "beta mid=",beta_mid)
        print("Itn # is:",j, "below threshold", "phi above=",  phidabv, "phi below=",  phidbel, "phi mid=", phidmid)   
        while np.absolute(phidmid - phi_dstar)>tol:
            if phidmid<phi_dstar:
                beta_abv = beta_0*0.5**(i-2)
                beta_bel = beta_mid
                beta_mid = 0.5*(beta_abv+beta_bel)
                beta=beta_mid
                mabv= np.array([1., 1])*beta_abv
                mbel= np.array([1., 1])*beta_bel
                mmid = np.array([1., 1])*beta_mid
                phidabv = np.dot(mabv.T,mabv)**0.5
                phidbel = np.dot(mbel.T,mbel)**0.5
                phidmid = np.dot(mmid.T,mmid)**0.5
                print("Itn # is:",j, "in R1", "beta above=", beta_abv, "beta below=", beta_bel, "beta mid=",beta_mid)
                print("Itn # is:",j, "in R1", "phi above=",  phidabv, "phi below=",  phidbel, "phi mid=", phidmid)         
            if phidmid>phi_dstar:
                beta_abv = beta_mid
                beta_bel = beta_bel
                beta_mid = 0.5*(beta_abv+beta_bel)
                beta=beta_mid
                mabv= np.array([1., 1])*beta_abv
                mbel= np.array([1., 1])*beta_bel
                mmid = np.array([1., 1])*beta_mid
                phidabv = np.dot(mabv.T,mabv)**0.5
                phidbel = np.dot(mbel.T,mbel)**0.5
                phidmid = np.dot(mmid.T,mmid)**0.5                
                print("Itn # is:",j, "in R2", "beta above=", beta_abv, "beta below=", beta_bel, "beta mid=",beta_mid)
                print("Itn # is:",j, "in R2", "phi above=",  phidabv, "phi below=",  phidbel, "phi mid=", phidmid)
                if phidmid<phi_dstar:
                    beta_abv = beta_abv
                    beta_bel = beta_mid
                    beta_mid = 0.5*(beta_abv+beta_bel)
                    beta=beta_mid
                    mabv= np.array([1., 1])*beta_abv
                    mbel= np.array([1., 1])*beta_bel
                    mmid = np.array([1., 1])*beta_mid
                    phidabv = np.dot(mabv.T,mabv)**0.5
                    phidbel = np.dot(mbel.T,mbel)**0.5
                    phidmid = np.dot(mmid.T,mmid)**0.5
                    print("Itn # is:",j, "in R3", "beta above=", beta_abv, "beta below=", beta_bel, "beta mid=",beta_mid)
                    print("Itn # is:",j, "in R3", "phi above=",  phidabv, "phi below=",  phidbel, "phi mid=", phidmid)  
            phid=phidmid
    print("At end beta=", beta,"phid=", phid)
    i=i+1


('At start beta=', 1000000)
('Start Itn', 7, 'beta=', 1000000, 'phid=', 1414213.562373095)
('At end beta=', 500000.0, 'phid=', 1414213.562373095)
('At start beta=', 500000.0)
('Start Itn', 7, 'beta=', 500000.0, 'phid=', 707106.78118654748)
('At end beta=', 250000.0, 'phid=', 707106.78118654748)
('At start beta=', 250000.0)
('Start Itn', 7, 'beta=', 250000.0, 'phid=', 353553.39059327374)
('At end beta=', 125000.0, 'phid=', 353553.39059327374)
('At start beta=', 125000.0)
('Start Itn', 7, 'beta=', 125000.0, 'phid=', 176776.69529663687)
('At end beta=', 62500.0, 'phid=', 176776.69529663687)
('At start beta=', 62500.0)
('Start Itn', 7, 'beta=', 62500.0, 'phid=', 88388.347648318435)
('At end beta=', 31250.0, 'phid=', 88388.347648318435)
('At start beta=', 31250.0)
('Start Itn', 7, 'beta=', 31250.0, 'phid=', 44194.173824159217)
('At end beta=', 15625.0, 'phid=', 44194.173824159217)
('At start beta=', 15625.0)
('Start Itn', 7, 'beta=', 15625.0, 'phid=', 22097.086912079609)
('At end beta=', 7812.5, 'phid=', 22097.086912079609)
('At start beta=', 7812.5)
('Start Itn', 7, 'beta=', 7812.5, 'phid=', 11048.543456039804)
('At end beta=', 3906.25, 'phid=', 11048.543456039804)
('At start beta=', 3906.25)
('Start Itn', 7, 'beta=', 3906.25, 'phid=', 5524.2717280199022)
('At end beta=', 1953.125, 'phid=', 5524.2717280199022)
('At start beta=', 1953.125)
('Start Itn', 7, 'beta=', 1953.125, 'phid=', 2762.1358640099511)
('At end beta=', 976.5625, 'phid=', 2762.1358640099511)
('At start beta=', 976.5625)
('Start Itn', 7, 'beta=', 976.5625, 'phid=', 1381.0679320049755)
('At end beta=', 488.28125, 'phid=', 1381.0679320049755)
('At start beta=', 488.28125)
('Start Itn', 7, 'beta=', 488.28125, 'phid=', 690.53396600248777)
('At end beta=', 244.140625, 'phid=', 690.53396600248777)
('At start beta=', 244.140625)
('Start Itn', 7, 'beta=', 244.140625, 'phid=', 345.26698300124389)
('At end beta=', 122.0703125, 'phid=', 345.26698300124389)
('At start beta=', 122.0703125)
('Start Itn', 7, 'beta=', 122.0703125, 'phid=', 172.63349150062194)
('At end beta=', 61.03515625, 'phid=', 172.63349150062194)
('At start beta=', 61.03515625)
('Start Itn', 7, 'beta=', 61.03515625, 'phid=', 86.316745750310972)
('At end beta=', 30.517578125, 'phid=', 86.316745750310972)
('At start beta=', 30.517578125)
('Start Itn', 7, 'beta=', 30.517578125, 'phid=', 43.158372875155486)
('At end beta=', 15.2587890625, 'phid=', 43.158372875155486)
('At start beta=', 15.2587890625)
('Start Itn', 7, 'beta=', 15.2587890625, 'phid=', 21.579186437577743)
('At end beta=', 7.62939453125, 'phid=', 21.579186437577743)
('At start beta=', 7.62939453125)
('Start Itn', 7, 'beta=', 7.62939453125, 'phid=', 10.789593218788871)
('Itn # is:', 7, 'below threshold', 'beta above=', 15.2587890625, 'beta below=', 7.62939453125, 'beta mid=', 11.444091796875)
('Itn # is:', 7, 'below threshold', 'phi above=', 21.579186437577743, 'phi below=', 10.789593218788871, 'phi mid=', 16.18438982818331)
('Itn # is:', 7, 'in R1', 'beta above=', 15.2587890625, 'beta below=', 11.444091796875, 'beta mid=', 13.3514404296875)
('Itn # is:', 7, 'in R1', 'phi above=', 21.579186437577743, 'phi below=', 16.18438982818331, 'phi mid=', 18.881788132880526)
('Itn # is:', 7, 'in R1', 'beta above=', 15.2587890625, 'beta below=', 13.3514404296875, 'beta mid=', 14.30511474609375)
('Itn # is:', 7, 'in R1', 'phi above=', 21.579186437577743, 'phi below=', 18.881788132880526, 'phi mid=', 20.230487285229135)
('Itn # is:', 7, 'in R2', 'beta above=', 14.30511474609375, 'beta below=', 13.3514404296875, 'beta mid=', 13.828277587890625)
('Itn # is:', 7, 'in R2', 'phi above=', 20.230487285229135, 'phi below=', 18.881788132880526, 'phi mid=', 19.556137709054831)
('Itn # is:', 7, 'in R3', 'beta above=', 14.30511474609375, 'beta below=', 13.828277587890625, 'beta mid=', 14.066696166992188)
('Itn # is:', 7, 'in R3', 'phi above=', 20.230487285229135, 'phi below=', 19.556137709054831, 'phi mid=', 19.893312497141984)
('Itn # is:', 7, 'in R1', 'beta above=', 15.2587890625, 'beta below=', 14.066696166992188, 'beta mid=', 14.662742614746094)
('Itn # is:', 7, 'in R1', 'phi above=', 21.579186437577743, 'phi below=', 19.893312497141984, 'phi mid=', 20.736249467359862)
('Itn # is:', 7, 'in R2', 'beta above=', 14.662742614746094, 'beta below=', 14.066696166992188, 'beta mid=', 14.36471939086914)
('Itn # is:', 7, 'in R2', 'phi above=', 20.736249467359862, 'phi below=', 19.893312497141984, 'phi mid=', 20.314780982250923)
('Itn # is:', 7, 'in R2', 'beta above=', 14.36471939086914, 'beta below=', 14.066696166992188, 'beta mid=', 14.215707778930664)
('Itn # is:', 7, 'in R2', 'phi above=', 20.314780982250923, 'phi below=', 19.893312497141984, 'phi mid=', 20.104046739696454)
('Itn # is:', 7, 'in R2', 'beta above=', 14.215707778930664, 'beta below=', 14.066696166992188, 'beta mid=', 14.141201972961426)
('Itn # is:', 7, 'in R2', 'phi above=', 20.104046739696454, 'phi below=', 19.893312497141984, 'phi mid=', 19.998679618419217)
('Itn # is:', 7, 'in R3', 'beta above=', 14.215707778930664, 'beta below=', 14.141201972961426, 'beta mid=', 14.178454875946045)
('Itn # is:', 7, 'in R3', 'phi above=', 20.104046739696454, 'phi below=', 19.998679618419217, 'phi mid=', 20.051363179057837)
('Itn # is:', 7, 'in R2', 'beta above=', 14.178454875946045, 'beta below=', 14.141201972961426, 'beta mid=', 14.159828424453735)
('Itn # is:', 7, 'in R2', 'phi above=', 20.051363179057837, 'phi below=', 19.998679618419217, 'phi mid=', 20.025021398738527)
('Itn # is:', 7, 'in R2', 'beta above=', 14.159828424453735, 'beta below=', 14.141201972961426, 'beta mid=', 14.15051519870758)
('Itn # is:', 7, 'in R2', 'phi above=', 20.025021398738527, 'phi below=', 19.998679618419217, 'phi mid=', 20.01185050857887)
('Itn # is:', 7, 'in R2', 'beta above=', 14.15051519870758, 'beta below=', 14.141201972961426, 'beta mid=', 14.145858585834503)
('Itn # is:', 7, 'in R2', 'phi above=', 20.01185050857887, 'phi below=', 19.998679618419217, 'phi mid=', 20.005265063499046)
('Itn # is:', 7, 'in R2', 'beta above=', 14.145858585834503, 'beta below=', 14.141201972961426, 'beta mid=', 14.143530279397964)
('Itn # is:', 7, 'in R2', 'phi above=', 20.005265063499046, 'phi below=', 19.998679618419217, 'phi mid=', 20.001972340959131)
('Itn # is:', 7, 'in R2', 'beta above=', 14.143530279397964, 'beta below=', 14.141201972961426, 'beta mid=', 14.142366126179695)
('Itn # is:', 7, 'in R2', 'phi above=', 20.001972340959131, 'phi below=', 19.998679618419217, 'phi mid=', 20.000325979689176)
('Itn # is:', 7, 'in R2', 'beta above=', 14.142366126179695, 'beta below=', 14.141201972961426, 'beta mid=', 14.14178404957056)
('Itn # is:', 7, 'in R2', 'phi above=', 20.000325979689176, 'phi below=', 19.998679618419217, 'phi mid=', 19.999502799054195)
('Itn # is:', 7, 'in R3', 'beta above=', 14.142366126179695, 'beta below=', 14.14178404957056, 'beta mid=', 14.142075087875128)
('Itn # is:', 7, 'in R3', 'phi above=', 20.000325979689176, 'phi below=', 19.999502799054195, 'phi mid=', 19.999914389371686)
('At end beta=', 14.142075087875128, 'phid=', 19.999914389371686)

In [29]:
beta=14.142075087875128
m = np.array([1., 1])*beta
phid = np.dot(m.T,m)**0.5
phi_dstar=20
print phid


19.9999143894

In [ ]: