本文整理汇总了Python中numpy.polynomial.legendre.leg2poly方法的典型用法代码示例。如果您正苦于以下问题:Python legendre.leg2poly方法的具体用法?Python legendre.leg2poly怎么用?Python legendre.leg2poly使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类numpy.polynomial.legendre
的用法示例。
在下文中一共展示了legendre.leg2poly方法的6个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: test_legfromroots
# 需要导入模块: from numpy.polynomial import legendre [as 别名]
# 或者: from numpy.polynomial.legendre import leg2poly [as 别名]
def test_legfromroots(self):
res = leg.legfromroots([])
assert_almost_equal(trim(res), [1])
for i in range(1, 5):
roots = np.cos(np.linspace(-np.pi, 0, 2*i + 1)[1::2])
pol = leg.legfromroots(roots)
res = leg.legval(roots, pol)
tgt = 0
assert_(len(pol) == i + 1)
assert_almost_equal(leg.leg2poly(pol)[-1], 1)
assert_almost_equal(res, tgt)
示例2: test_leg2poly
# 需要导入模块: from numpy.polynomial import legendre [as 别名]
# 或者: from numpy.polynomial.legendre import leg2poly [as 别名]
def test_leg2poly(self):
for i in range(10):
assert_almost_equal(leg.leg2poly([0]*i + [1]), Llist[i])
示例3: test_legfromroots
# 需要导入模块: from numpy.polynomial import legendre [as 别名]
# 或者: from numpy.polynomial.legendre import leg2poly [as 别名]
def test_legfromroots(self) :
res = leg.legfromroots([])
assert_almost_equal(trim(res), [1])
for i in range(1, 5) :
roots = np.cos(np.linspace(-np.pi, 0, 2*i + 1)[1::2])
pol = leg.legfromroots(roots)
res = leg.legval(roots, pol)
tgt = 0
assert_(len(pol) == i + 1)
assert_almost_equal(leg.leg2poly(pol)[-1], 1)
assert_almost_equal(res, tgt)
示例4: test_leg2poly
# 需要导入模块: from numpy.polynomial import legendre [as 别名]
# 或者: from numpy.polynomial.legendre import leg2poly [as 别名]
def test_leg2poly(self) :
for i in range(10) :
assert_almost_equal(leg.leg2poly([0]*i + [1]), Llist[i])
示例5: _setup
# 需要导入模块: from numpy.polynomial import legendre [as 别名]
# 或者: from numpy.polynomial.legendre import leg2poly [as 别名]
def _setup(self, config):
torch.manual_seed(config['seed'])
self.model = HstackDiagProduct(size=config['size'])
self.optimizer = optim.Adam(self.model.parameters(), lr=config['lr'])
self.n_steps_per_epoch = config['n_steps_per_epoch']
size = config['size']
# Target: Legendre polynomials
P = np.zeros((size, size), dtype=np.float64)
for i, coef in enumerate(np.eye(size)):
P[i, :i + 1] = legendre.leg2poly(coef)
self.target_matrix = torch.tensor(P)
self.br_perm = bitreversal_permutation(size)
self.input = (torch.eye(size)[:, :, None, None] * torch.eye(2)).unsqueeze(-1)
self.input_permuted = self.input[:, self.br_perm]
示例6: legendre_transpose_mult_slow
# 需要导入模块: from numpy.polynomial import legendre [as 别名]
# 或者: from numpy.polynomial.legendre import leg2poly [as 别名]
def legendre_transpose_mult_slow(v):
"""Naive multiplication P^T v where P is the matrix of coefficients of
Legendre polynomials.
Parameters:
v: (batch_size, n)
Return:
P^T v: (batch_size, n)
"""
n = v.shape[-1]
# Construct the coefficient matrix P for Legendre polynomials
P = np.zeros((n, n), dtype=np.float32)
for i, coef in enumerate(np.eye(n)):
P[i, :i + 1] = legendre.leg2poly(coef)
P = torch.tensor(P)
return v @ P