# Calculate function value in point x
def function_g(x, H, b, c):
- return -b.T.dot(x) + 0.5 * x.T.dot(H.dot(x)) + (1/12) * x.T.dot(_C(x,c).dot(x))
+ return -b.T.dot(x) + 0.5 * x.T.dot(H.dot(x)) + (1.0/12.0) * x.T.dot(_C(x,c).dot(x))
# Create matrix C(x)
def _C(x, c):
# Calculate gradient of g in point x
def gradient_g(x, H, b, c):
- return -b.T + 0.5 * H.dot(x) + 0.5 * H.T.dot(x) + (1/3) * x.T.dot(_C(x,c))
+ return -b.T + 0.5 * H.dot(x) + 0.5 * H.T.dot(x) + (1.0/3.0) * x.T.dot(_C(x,c))
# Calculate hessian of g in point x
def hessian_g(x, H, b, c):
for i in xrange(dim):
for j in xrange(dim):
Z[i][j] = function.function_g(np.array([X[i][j],Y[i][j]]), H, b, c)
- if Z[i][j] > zmax:
- Z[i][j] = NaN
+# if Z[i][j] > zmax:
+# Z[i][j] = NaN
return X, Y, Z