예제 #1
0
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
import modules.rollingball as RB
import AutoDiff_CKMZ.modules.AutoDiff as AD
from time import time

function_list = [lambda x: AD.sin(x), 
                 lambda x: AD.exp(x), 
                 lambda x: x * AD.sin(x), 
                 lambda x: - AD.log(x), 
                 lambda x: AD.sinh(x), 
                 lambda x: AD.exp(AD.cos(x)),
                 lambda x: 2 ** x, 
                 lambda x: 1 / AD.tan(x), 
                 lambda x: AD.sin(x) / x, 
                 lambda x: x ** 2]


derivative_list = [lambda x: np.cos(x), 
                   lambda x: np.exp(x), 
                   lambda x: np.sin(x) + x * np.cos(x), 
                   lambda x: -1 / x, 
                   lambda x: np.cosh(x), 
                   lambda x: - np.exp(np.cos(x)) * np.sin(x),
                   lambda x: 2 ** x * np.log(2), 
                   lambda x: - 1 / np.sin(x) ** 2, 
                   lambda x: (x * np.cos(x) - np.sin(x)) / x ** 2, 
                   lambda x: 2 * x]

class function():
예제 #2
0
def test_log_invalid_base():
    with pytest.raises(ValueError):
        AD.log(x1, base='a')
예제 #3
0
def test_sin_pow_log():
    f = AD.sin(x1)**2 * AD.log(x1)
    assert tol > abs(f.x - 0.573109206726)
    assert tol > abs(f.dx - -0.111164610647518727)
예제 #4
0
def test_cos_log10_rpow():
    f = AD.cos(AD.log(2**x1, base=10))
    assert tol > abs(f.x - 0.82417070595)
    assert tol > abs(f.dx - -0.17048576675265)
예제 #5
0
def test_log():
    f = AD.log(x1)
    assert f.x == np.log(2)
    assert f.dx == 1 / 2
    f = AD.log(2)
    assert f == np.log(2)