示例#1
0
try:
    from numpy import *
    from matplotlib.pyplot import *
except ImportError:
    "Need numpy and matplotlib to test PyUQTk"

try:
    import PyUQTk.array as uqtkarray
    import PyUQTk.quad as uqtkquad
    import PyUQTk.pce as uqtkpce
except ImportError:
    print "PyUQTk array and quad module not found"

# get quad points and weights
x = uqtkarray.dblArray2D()
w = uqtkarray.dblArray1D()

print 'Create an instance of Quad class'
ndim = 1
level = 8
q = uqtkquad.Quad('LU', 'full', ndim, level)
print 'Now set and get the quadrature rule...'
q.SetRule()
q.GetRule(x, w)

# print out x and w
print 'Displaying the quadrature points and weights:\n'
# print x
# print w
n = len(x)
print 'Number of quad points is ', n, '\n'
示例#2
0
        '''
		sample from exp(-.5*(x**2/.1**2 - y**2/.8**2))
		'''
        y1 = x[0]
        y2 = x[1]
        return -.5 * (y1**2 / .1**2 + y2**2 / .8**2)


start = time.time()
# testing MCMC library
print('\n*****************\nTesting MCMC\n*****************\n')
print('Setting LogPosterior function, L')
print('L is defined in uqtk.cpp (Rosenbrock function)')
L = pyLikelihood()
print('Testing logposterior function')
xstart = uqtkarray.dblArray1D(2, 0)
print(xstart)
print('L.eval(x) =  ', L.eval(xstart))

print('Setting up the sampler')
mchain = uqtkmcmc.MCMC(L)

print('Setting chain dim, type (ss), initial proposal covariance')
dim = 2
mchain.setChainDim(dim)
mchain.initMethod("am")
g = uqtkarray.dblArray1D(dim, .5)
mchain.initChainPropCovDiag(g)

print('Running chain to chain.dat ...')
nCalls = 100000
示例#3
0
try:
    from numpy import *
    from matplotlib.pyplot import *
except ImportError:
    print("Need numpy and matplotlib to test PyUQTk")

try:
    import PyUQTk.array as uqtkarray
    import PyUQTk.quad as uqtkquad
    import PyUQTk.pce as uqtkpce
except ImportError:
    print("PyUQTk array and quad module not found")

# get quad points and weights
x = uqtkarray.dblArray2D()
w = uqtkarray.dblArray1D()

print('Create an instance of Quad class')
ndim = 2
level = 8
q = uqtkquad.Quad('LU', 'full', ndim, level)
print('Now set and get the quadrature rule...')
q.SetRule()
q.GetRule(x, w)

# print out x and w
print('Displaying the quadrature points and weights:\n')
print(x)
print(w)
n = len(x)
print('Number of quad points is ', n, '\n')
示例#4
0
'''
Use AMCMC for banana shaped function
'''


class pyLikelihood(uqtkmcmc.LikelihoodBase):
    def eval(self, x):
        x0 = x[0]
        x1 = x[1]
        return -(1 - x0) * (1 - x0) - 100 * (x1 - x0 * x0) * (x1 - x0 * x0)


# testing MCMC library
print '\n*****************\nTesting AMCMC\n*****************\n'
Like = pyLikelihood()
xstart = uqtkarray.dblArray1D(2, 1.0)
mchain = uqtkmcmc.MCMC(Like)
dim = 2
mchain.setChainDim(dim)
mchain.initMethod("am")
g = uqtkarray.dblArray1D(dim, .1)
mchain.initChainPropCovDiag(g)
nCalls = L * M
thin2 = thin1 * L
mchain.setWriteFlag(0)
mchain.setOutputInfo("txt", "chain.dat", M, nCalls)
mchain.runChain(nCalls, xstart)
mchain.getSamples()
samples = mchain.samples
samples2 = zeros((dim, nCalls))
samples.getnpdblArray(samples2)