本文整理汇总了Python中autograd.numpy.sqrt方法的典型用法代码示例。如果您正苦于以下问题:Python numpy.sqrt方法的具体用法?Python numpy.sqrt怎么用?Python numpy.sqrt使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类autograd.numpy
的用法示例。
在下文中一共展示了numpy.sqrt方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: _evaluate
# 需要导入模块: from autograd import numpy [as 别名]
# 或者: from autograd.numpy import sqrt [as 别名]
def _evaluate(self, x, out, *args, **kwargs):
l = []
for j in range(self.n_var):
l.append((j + 1) * x[:, j] ** 2)
sum_jx = anp.sum(anp.column_stack(l), axis=1)
a = anp.sum(anp.cos(x) ** 4, axis=1)
b = 2 * anp.prod(anp.cos(x) ** 2, axis=1)
c = (anp.sqrt(sum_jx)).flatten()
c = c + (c == 0) * 1e-20
f = -anp.absolute((a - b) / c)
# Constraints
g1 = -anp.prod(x, 1) + 0.75
g2 = anp.sum(x, axis=1) - 7.5 * self.n_var
out["F"] = f
out["G"] = anp.column_stack([g1, g2])
示例2: _evaluate
# 需要导入模块: from autograd import numpy [as 别名]
# 或者: from autograd.numpy import sqrt [as 别名]
def _evaluate(self, x, out, *args, **kwargs):
# variable names for convenient access
x1 = x[:, 0]
x2 = x[:, 1]
y = x[:, 2]
# first objectives
f1 = x1 * anp.sqrt(16 + anp.square(y)) + x2 * anp.sqrt((1 + anp.square(y)))
# measure which are needed for the second objective
sigma_ac = 20 * anp.sqrt(16 + anp.square(y)) / (y * x1)
sigma_bc = 80 * anp.sqrt(1 + anp.square(y)) / (y * x2)
# take the max
f2 = anp.max(anp.column_stack((sigma_ac, sigma_bc)), axis=1)
# define a constraint
g1 = f2 - self.Smax
out["F"] = anp.column_stack([f1, f2])
out["G"] = g1
示例3: _evaluate
# 需要导入模块: from autograd import numpy [as 别名]
# 或者: from autograd.numpy import sqrt [as 别名]
def _evaluate(self, x, out, *args, **kwargs):
f1 = 1.10471 * x[:, 0] ** 2 * x[:, 1] + 0.04811 * x[:, 2] * x[:, 3] * (14.0 + x[:, 1])
f2 = 2.1952 / (x[:, 3] * x[:, 2] ** 3)
P = 6000
L = 14
t_max = 13600
s_max = 30000
R = anp.sqrt(0.25 * (x[:, 1] ** 2 + (x[:, 0] + x[:, 2]) ** 2))
M = P * (L + x[:, 1] / 2)
J = 2 * anp.sqrt(0.5) * x[:, 0] * x[:, 1] * (x[:, 1] ** 2 / 12 + 0.25 * (x[:, 0] + x[:, 2]) ** 2)
t1 = P / (anp.sqrt(2) * x[:, 0] * x[:, 1])
t2 = M * R / J
t = anp.sqrt(t1 ** 2 + t2 ** 2 + t1 * t2 * x[:, 1] / R)
s = 6 * P * L / (x[:, 3] * x[:, 2] ** 2)
P_c = 64746.022 * (1 - 0.0282346 * x[:, 2]) * x[:, 2] * x[:, 3] ** 3
g1 = (1 / t_max) * (t - t_max)
g2 = (1 / s_max) * (s - s_max)
g3 = (1 / (5 - 0.125)) * (x[:, 0] - x[:, 3])
g4 = (1 / P) * (P - P_c)
out["F"] = anp.column_stack([f1, f2])
out["G"] = anp.column_stack([g1, g2, g3, g4])
示例4: _calc_pareto_front
# 需要导入模块: from autograd import numpy [as 别名]
# 或者: from autograd.numpy import sqrt [as 别名]
def _calc_pareto_front(self, n_points=100, flatten=True):
regions = [[0, 0.0830015349],
[0.182228780, 0.2577623634],
[0.4093136748, 0.4538821041],
[0.6183967944, 0.6525117038],
[0.8233317983, 0.8518328654]]
pf = []
for r in regions:
x1 = anp.linspace(r[0], r[1], int(n_points / len(regions)))
x2 = 1 - anp.sqrt(x1) - x1 * anp.sin(10 * anp.pi * x1)
pf.append(anp.array([x1, x2]).T)
if not flatten:
pf = anp.concatenate([pf[None,...] for pf in pf])
else:
pf = anp.row_stack(pf)
return pf
示例5: stochastic_update_Adam
# 需要导入模块: from autograd import numpy [as 别名]
# 或者: from autograd.numpy import sqrt [as 别名]
def stochastic_update_Adam(w,grad_w,mt,vt,lrate,iteration):
beta1 = 0.9;
beta2 = 0.999;
epsilon = 1e-8;
mt = mt*beta1 + (1.0-beta1)*grad_w;
vt = vt*beta2 + (1.0-beta2)*grad_w**2;
mt_hat = mt/(1.0-beta1**iteration);
vt_hat = vt/(1.0-beta2**iteration);
scal = 1.0/(np.sqrt(vt_hat) + epsilon);
w = w - lrate*mt_hat*scal;
return w,mt,vt
示例6: area_wetted
# 需要导入模块: from autograd import numpy [as 别名]
# 或者: from autograd.numpy import sqrt [as 别名]
def area_wetted(self):
# Returns the wetted area of a wing.
area = 0
for i in range(len(self.xsecs) - 1):
chord_eff = (self.xsecs[i].chord
+ self.xsecs[i + 1].chord) / 2
this_xyz_te = self.xsecs[i].xyz_te()
that_xyz_te = self.xsecs[i + 1].xyz_te()
span_le_eff = np.sqrt(
np.square(self.xsecs[i].xyz_le[1] - self.xsecs[i + 1].xyz_le[1]) +
np.square(self.xsecs[i].xyz_le[2] - self.xsecs[i + 1].xyz_le[2])
)
span_te_eff = np.sqrt(
np.square(this_xyz_te[1] - that_xyz_te[1]) +
np.square(this_xyz_te[2] - that_xyz_te[2])
)
span_eff = (span_le_eff + span_te_eff) / 2
area += chord_eff * span_eff
if self.symmetric:
area *= 2
return area
示例7: get_mcl_normal_direction_at_chord_fraction
# 需要导入模块: from autograd import numpy [as 别名]
# 或者: from autograd.numpy import sqrt [as 别名]
def get_mcl_normal_direction_at_chord_fraction(self, chord_fraction):
# Returns the normal direction of the mean camber line at a specified chord fraction.
# If you input a single value, returns a 1D numpy array with 2 elements (x,y).
# If you input a vector of values, returns a 2D numpy array. First index is the point number, second index is (x,y)
# Right now, does it by finite differencing camber values :(
# When I'm less lazy I'll make it do it in a proper, more efficient way
# TODO make this not finite difference
epsilon = np.sqrt(np.finfo(float).eps)
cambers = self.get_camber_at_chord_fraction(chord_fraction)
cambers_incremented = self.get_camber_at_chord_fraction(chord_fraction + epsilon)
dydx = (cambers_incremented - cambers) / epsilon
if dydx.shape == 1: # single point
normal = np.hstack((-dydx, 1))
normal /= np.linalg.norm(normal)
return normal
else: # multiple points vectorized
normal = np.column_stack((-dydx, np.ones(dydx.shape)))
normal /= np.expand_dims(np.linalg.norm(normal, axis=1), axis=1) # normalize
return normal
示例8: plot_gp
# 需要导入模块: from autograd import numpy [as 别名]
# 或者: from autograd.numpy import sqrt [as 别名]
def plot_gp(ax, X, y, pred_mean, pred_cov, plot_xs):
ax.cla()
marg_std = np.sqrt(np.diag(pred_cov))
ax.plot(plot_xs, pred_mean, 'b')
ax.fill(np.concatenate([plot_xs, plot_xs[::-1]]),
np.concatenate([pred_mean - 1.96 * marg_std,
(pred_mean + 1.96 * marg_std)[::-1]]),
alpha=.15, fc='Blue', ec='None')
# Show samples from posterior.
rs = npr.RandomState(0)
sampled_funcs = rs.multivariate_normal(pred_mean, pred_cov, size=10)
ax.plot(plot_xs, sampled_funcs.T)
ax.plot(X, y, 'kx')
ax.set_ylim([-1.5, 1.5])
ax.set_xticks([])
ax.set_yticks([])
示例9: create_pf
# 需要导入模块: from autograd import numpy [as 别名]
# 或者: from autograd.numpy import sqrt [as 别名]
def create_pf():
ps = np.linspace(-1/np.sqrt(2),1/np.sqrt(2))
pf = []
for x1 in ps:
#generate solutions on the Pareto front:
x = np.array([x1,x1])
f, f_dx = concave_fun_eval(x)
pf.append(f)
pf = np.array(pf)
return pf
### optimization method ###
示例10: gaussbern_rbm_tuple
# 需要导入模块: from autograd import numpy [as 别名]
# 或者: from autograd.numpy import sqrt [as 别名]
def gaussbern_rbm_tuple(var, dx=50, dh=10, n=sample_size):
"""
Get a tuple of Gaussian-Bernoulli RBM problems.
We follow the parameter settings as described in section 6 of Liu et al.,
2016.
- var: Gaussian noise variance for perturbing B.
- dx: observed dimension
- dh: latent dimension
Return p, a DataSource
"""
with util.NumpySeedContext(seed=1000):
B = np.random.randint(0, 2, (dx, dh))*2 - 1.0
b = np.random.randn(dx)
c = np.random.randn(dh)
p = density.GaussBernRBM(B, b, c)
B_perturb = B + np.random.randn(dx, dh)*np.sqrt(var)
gb_rbm = data.DSGaussBernRBM(B_perturb, b, c, burnin=50)
return p, gb_rbm
示例11: gbrbm_perturb
# 需要导入模块: from autograd import numpy [as 别名]
# 或者: from autograd.numpy import sqrt [as 别名]
def gbrbm_perturb(var_perturb_B, dx=50, dh=10):
"""
Get a Gaussian-Bernoulli RBM problem where the first entry of the B matrix
(the matrix linking the latent and the observation) is perturbed.
- var_perturb_B: Gaussian noise variance for perturbing B.
- dx: observed dimension
- dh: latent dimension
Return p (density), data source
"""
with util.NumpySeedContext(seed=10):
B = np.random.randint(0, 2, (dx, dh))*2 - 1.0
b = np.random.randn(dx)
c = np.random.randn(dh)
p = density.GaussBernRBM(B, b, c)
B_perturb = np.copy(B)
if var_perturb_B > 1e-7:
B_perturb[0, 0] = B_perturb[0, 0] + \
np.random.randn(1)*np.sqrt(var_perturb_B)
ds = data.DSGaussBernRBM(B_perturb, b, c, burnin=2000)
return p, ds
示例12: multivariate_normal_density
# 需要导入模块: from autograd import numpy [as 别名]
# 或者: from autograd.numpy import sqrt [as 别名]
def multivariate_normal_density(mean, cov, X):
"""
Exact density (not log density) of a multivariate Gaussian.
mean: length-d array
cov: a dxd covariance matrix
X: n x d 2d-array
"""
evals, evecs = np.linalg.eigh(cov)
cov_half_inv = evecs.dot(np.diag(evals**(-0.5))).dot(evecs.T)
# print(evals)
half_evals = np.dot(X-mean, cov_half_inv)
full_evals = np.sum(half_evals**2, 1)
unden = np.exp(-0.5*full_evals)
Z = np.sqrt(np.linalg.det(2.0*np.pi*cov))
den = unden/Z
assert len(den) == X.shape[0]
return den
示例13: perform_test
# 需要导入模块: from autograd import numpy [as 别名]
# 或者: from autograd.numpy import sqrt [as 别名]
def perform_test(self, dat):
"""
dat: a instance of Data
"""
with util.ContextTimer() as t:
alpha = self.alpha
X = dat.data()
n = X.shape[0]
# H: length-n vector
_, H = self.compute_stat(dat, return_pointwise_stats=True)
test_stat = np.sqrt(old_div(n,2))*np.mean(H)
stat_var = np.mean(H**2)
pvalue = stats.norm.sf(test_stat, loc=0, scale=np.sqrt(stat_var) )
results = {'alpha': self.alpha, 'pvalue': pvalue, 'test_stat': test_stat,
'h0_rejected': pvalue < alpha, 'time_secs': t.secs,
}
return results
示例14: _calc_pareto_front
# 需要导入模块: from autograd import numpy [as 别名]
# 或者: from autograd.numpy import sqrt [as 别名]
def _calc_pareto_front(self, ref_dirs, *args, **kwargs):
F = super()._calc_pareto_front(ref_dirs, *args, **kwargs)
a = anp.sqrt(anp.sum(F ** 2, 1) - 3 / 4 * anp.max(F ** 2, axis=1))
a = anp.expand_dims(a, axis=1)
a = anp.tile(a, [1, ref_dirs.shape[1]])
F = F / a
return F
示例15: constraint_c2
# 需要导入模块: from autograd import numpy [as 别名]
# 或者: from autograd.numpy import sqrt [as 别名]
def constraint_c2(f, r):
n_obj = f.shape[1]
v1 = anp.inf * anp.ones(f.shape[0])
for i in range(n_obj):
temp = (f[:, i] - 1) ** 2 + (anp.sum(f ** 2, axis=1) - f[:, i] ** 2) - r ** 2
v1 = anp.minimum(temp.flatten(), v1)
a = 1 / anp.sqrt(n_obj)
v2 = anp.sum((f - a) ** 2, axis=1) - r ** 2
g = anp.minimum(v1, v2.flatten())
return g