当前位置: 首页>>代码示例>>Python>>正文


Python legendre.legvander方法代码示例

本文整理汇总了Python中numpy.polynomial.legendre.legvander方法的典型用法代码示例。如果您正苦于以下问题:Python legendre.legvander方法的具体用法?Python legendre.legvander怎么用?Python legendre.legvander使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在numpy.polynomial.legendre的用法示例。


在下文中一共展示了legendre.legvander方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_legvander

# 需要导入模块: from numpy.polynomial import legendre [as 别名]
# 或者: from numpy.polynomial.legendre import legvander [as 别名]
def test_legvander(self):
        # check for 1d x
        x = np.arange(3)
        v = leg.legvander(x, 3)
        assert_(v.shape == (3, 4))
        for i in range(4):
            coef = [0]*i + [1]
            assert_almost_equal(v[..., i], leg.legval(x, coef))

        # check for 2d x
        x = np.array([[1, 2], [3, 4], [5, 6]])
        v = leg.legvander(x, 3)
        assert_(v.shape == (3, 2, 4))
        for i in range(4):
            coef = [0]*i + [1]
            assert_almost_equal(v[..., i], leg.legval(x, coef)) 
开发者ID:Frank-qlu,项目名称:recruit,代码行数:18,代码来源:test_legendre.py

示例2: test_legvander

# 需要导入模块: from numpy.polynomial import legendre [as 别名]
# 或者: from numpy.polynomial.legendre import legvander [as 别名]
def test_legvander(self) :
        # check for 1d x
        x = np.arange(3)
        v = leg.legvander(x, 3)
        assert_(v.shape == (3, 4))
        for i in range(4) :
            coef = [0]*i + [1]
            assert_almost_equal(v[..., i], leg.legval(x, coef))

        # check for 2d x
        x = np.array([[1, 2], [3, 4], [5, 6]])
        v = leg.legvander(x, 3)
        assert_(v.shape == (3, 2, 4))
        for i in range(4) :
            coef = [0]*i + [1]
            assert_almost_equal(v[..., i], leg.legval(x, coef)) 
开发者ID:ktraunmueller,项目名称:Computable,代码行数:18,代码来源:test_legendre.py

示例3: test_100

# 需要导入模块: from numpy.polynomial import legendre [as 别名]
# 或者: from numpy.polynomial.legendre import legvander [as 别名]
def test_100(self):
        x, w = leg.leggauss(100)

        # test orthogonality. Note that the results need to be normalized,
        # otherwise the huge values that can arise from fast growing
        # functions like Laguerre can be very confusing.
        v = leg.legvander(x, 99)
        vv = np.dot(v.T * w, v)
        vd = 1/np.sqrt(vv.diagonal())
        vv = vd[:, None] * vv * vd
        assert_almost_equal(vv, np.eye(100))

        # check that the integral of 1 is correct
        tgt = 2.0
        assert_almost_equal(w.sum(), tgt) 
开发者ID:Frank-qlu,项目名称:recruit,代码行数:17,代码来源:test_legendre.py

示例4: _setup

# 需要导入模块: from numpy.polynomial import legendre [as 别名]
# 或者: from numpy.polynomial.legendre import legvander [as 别名]
def _setup(self, config):
        torch.manual_seed(config['seed'])
        self.model = ButterflyProduct(size=config['size'],
                                      complex=False,
                                      fixed_order=config['fixed_order'],
                                      softmax_fn=config['softmax_fn'])
        if (not config['fixed_order']) and config['softmax_fn'] == 'softmax':
            self.semantic_loss_weight = config['semantic_loss_weight']
        self.optimizer = optim.Adam(self.model.parameters(), lr=config['lr'])
        self.n_steps_per_epoch = config['n_steps_per_epoch']
        size = config['size']
        # Need to transpose as dct acts on rows of matrix np.eye, not columns
        n = size
        x = np.linspace(-1, 1, n + 2)[1:-1]
        E = legendre.legvander(x, n - 1).T
        # E = np.zeros((n, n), dtype=np.float32)
        # for i, coef in enumerate(np.eye(n)):
        #     E[i] = legendre.legval(x, coef)
        self.target_matrix = torch.tensor(E, dtype=torch.float)
        arange_ = np.arange(size)
        dct_perm = np.concatenate((arange_[::2], arange_[::-2]))
        br_perm = bitreversal_permutation(size)
        assert config['perm'] in ['id', 'br', 'dct']
        if config['perm'] == 'id':
            self.perm = torch.arange(size)
        elif config['perm'] == 'br':
            self.perm = br_perm
        elif config['perm'] == 'dct':
            self.perm = torch.arange(size)[dct_perm][br_perm]
        else:
            assert False, 'Wrong perm in config' 
开发者ID:HazyResearch,项目名称:learning-circuits,代码行数:33,代码来源:learning_legendre.py


注:本文中的numpy.polynomial.legendre.legvander方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。