當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。