In [1]:
import numpy as np
import matplotlib.pyplot as pp
import sympy as sym
In [2]:
def f( x ):
    
    return np.cos( x ) - 0.5 * x

x = np.linspace( -10, 10, 100 )

pp.figure( figsize = ( 12, 8 ) )
pp.plot( x, f( x ) )
pp.show()
In [3]:
n = 100
s = np.random.normal( size = 100 )

def f( mu, sigma ):
    
    retval = np.empty( mu.shape )
    for i in range( mu.shape[ 0 ] ):
        retval[ i ] = -np.prod( np.exp( -( s - mu[ i ] ) ** 2 / sigma ) )
    
    
    return retval
In [4]:
sigma = 3.0

mu = np.linspace( -1.0, 1.0, 200 )
f_mu = f( mu, sigma )

avg = np.mean( s )
print( avg )

pp.figure( figsize = ( 15, 8 ) )
pp.plot( mu, f_mu )
pp.plot( [ avg, avg ], [ np.min( f_mu ), np.max( f_mu ) ] )
pp.show()
0.2230254436752806
In [5]:
def f( x ):
    
    return x**3/3 - 3*x**2/2 + 2*x

X = sym.symbols( 'x' )
sym.integrate( ( X - 1 ) * ( X - 2 ), X )
Out[5]:
x**3/3 - 3*x**2/2 + 2*x
In [6]:
x = np.linspace( 0, 3, 100 )
f_x = f( x )

pp.figure( figsize = ( 12, 8 ) )
pp.plot( x, f_x )
pp.plot( [ 2, 2 ], [ np.min( f_x ), np.max( f_x ) ] )

pp.savefig( 'local_min.pdf' )
pp.show()