コード例 #1
0
    def test_check_derivative(self):
        def jac(x):
            return csr_matrix(self.jac(x))

        accuracy = check_derivative(self.fun,
                                    jac,
                                    self.x0,
                                    bounds=(self.lb, self.ub),
                                    sparse_diff=True)
        assert_(accuracy < 1e-9)

        A = self.structure(self.n)
        groups = group_columns(A)
        accuracy = check_derivative(self.fun,
                                    jac,
                                    self.x0,
                                    bounds=(self.lb, self.ub),
                                    sparse_diff=True,
                                    sparsity=(A, groups))
        assert_(accuracy < 1e-9)

        accuracy = check_derivative(self.fun,
                                    jac,
                                    self.x0,
                                    bounds=(self.lb, self.ub),
                                    sparse_diff=False)
        # Slightly worse accuracy because all elements are computed.
        # Floating point issues make true 0 to some smal value, then
        # it is divided by small step and as a result we have ~1e-9 element,
        # which is actually should be zero.
        assert_(accuracy < 1e-8)
コード例 #2
0
ファイル: test__numdiff.py プロジェクト: 1641731459/scipy
    def test_check_derivative(self):
        def jac(x):
            return csr_matrix(self.jac(x))

        accuracy = check_derivative(
            self.fun, jac, self.x0,
            bounds=(self.lb, self.ub), sparse_diff=True)
        assert_(accuracy < 1e-9)

        A = self.structure(self.n)
        groups = group_columns(A)
        accuracy = check_derivative(
            self.fun, jac, self.x0, bounds=(self.lb, self.ub),
            sparse_diff=True, sparsity=(A, groups)
        )
        assert_(accuracy < 1e-9)

        accuracy = check_derivative(
            self.fun, jac, self.x0,
            bounds=(self.lb, self.ub), sparse_diff=False)
        # Slightly worse accuracy because all elements are computed.
        # Floating point issues make true 0 to some smal value, then
        # it is divided by small step and as a result we have ~1e-9 element,
        # which is actually should be zero.
        assert_(accuracy < 1e-8)
コード例 #3
0
ファイル: test__numdiff.py プロジェクト: AldenJurling/scipy
    def test_check_derivative(self):
        def jac(x):
            return csr_matrix(self.jac(x))

        accuracy = check_derivative(self.fun, jac, self.x0,
                                    bounds=(self.lb, self.ub))
        assert_(accuracy < 1e-9)

        accuracy = check_derivative(self.fun, jac, self.x0,
                                    bounds=(self.lb, self.ub))
        assert_(accuracy < 1e-9)
コード例 #4
0
    def test_check_derivative(self):
        def jac(x):
            return csr_matrix(self.jac(x))

        accuracy = check_derivative(self.fun, jac, self.x0,
                                    bounds=(self.lb, self.ub))
        assert_(accuracy < 1e-9)

        accuracy = check_derivative(self.fun, jac, self.x0,
                                    bounds=(self.lb, self.ub))
        assert_(accuracy < 1e-9)
コード例 #5
0
ファイル: test__numdiff.py プロジェクト: AldenJurling/scipy
    def test_check_derivative(self):
        x0 = np.array([-10.0, 10])
        accuracy = check_derivative(self.fun_vector_vector,
                                    self.jac_vector_vector, x0)
        assert_(accuracy < 1e-9)
        accuracy = check_derivative(self.fun_vector_vector,
                                    self.jac_vector_vector, x0)
        assert_(accuracy < 1e-6)

        x0 = np.array([0.0, 0.0])
        accuracy = check_derivative(self.fun_zero_jacobian,
                                    self.jac_zero_jacobian, x0)
        assert_(accuracy == 0)
        accuracy = check_derivative(self.fun_zero_jacobian,
                                    self.jac_zero_jacobian, x0)
        assert_(accuracy == 0)
コード例 #6
0
ファイル: test__numdiff.py プロジェクト: 745698140/test_1
    def test_check_derivative(self):
        x0 = np.array([-10.0, 10])
        accuracy = check_derivative(self.fun_vector_vector,
                                    self.jac_vector_vector, x0)
        assert_(accuracy < 1e-9)
        accuracy = check_derivative(self.fun_vector_vector,
                                    self.jac_vector_vector, x0)
        assert_(accuracy < 1e-6)

        x0 = np.array([0.0, 0.0])
        accuracy = check_derivative(self.fun_zero_jacobian,
                                    self.jac_zero_jacobian, x0)
        assert_(accuracy == 0)
        accuracy = check_derivative(self.fun_zero_jacobian,
                                    self.jac_zero_jacobian, x0)
        assert_(accuracy == 0)
コード例 #7
0
ファイル: lsq_problems.py プロジェクト: ev-br/lsq-benchmarks
    def check_jacobian(self):
        accuracy = []
        if self.sparsity is not None:
            sparse_diff = True
            groups = group_columns(self.sparsity)
            sparsity = (self.sparsity, groups)
        else:
            sparse_diff = False
            sparsity = None

        for x0, bounds in self.specs:
            x = x0 + np.random.randn(self.n)
            acc = check_derivative(self.fun, self.jac, x, bounds=bounds,
                                   sparse_diff=sparse_diff, sparsity=sparsity)
            accuracy.append(acc)
        return accuracy