Exemplo n.º 1
0
def logistic(x):
    try:
        return ad.AutoDiff(
            np.exp(x.val) / (np.exp(x.val) + 1),
            np.dot(np.exp(x.val) / ((np.exp(x.val) + 1)**2), x.der))
    except Exception:
        return (np.exp(x) / (np.exp(x) + 1))
Exemplo n.º 2
0
def log(x,
        base=np.e
        ):  # accepts any value for the base, but default is natural log
    try:
        return ad.AutoDiff(
            np.log(x.val) / np.log(base), (1 / (np.log(base) * x.val)) * x.der)
    except Exception:
        return np.log(x) / np.log(base)
Exemplo n.º 3
0
def tanh(x):
    try:
        return ad.AutoDiff(np.tanh(x.val), x.der * (1 - np.tanh(x.val)**2))
    except Exception:
        return np.tanh(x)
Exemplo n.º 4
0
def cosh(x):
    try:
        return ad.AutoDiff(np.cosh(x.val), x.der * np.sinh(x.val))
    except Exception:
        return np.cosh(x)
Exemplo n.º 5
0
def atan(x):
    try:
        return ad.AutoDiff(atan(x.val), (1 / (1 + x.val**2)) * x.der)
    except Exception:
        return np.arctan(x)
Exemplo n.º 6
0
def exp(x):
    try:
        return ad.AutoDiff(np.exp(x.val), np.dot(np.exp(x.val), x.der))
    except Exception:
        return np.exp(x)
Exemplo n.º 7
0
def acos(x):
    try:
        return ad.AutoDiff(acos(x.val), (-1 / np.sqrt(1 - x.val**2)) * x.der)
    except Exception:
        return np.arccos(x)
Exemplo n.º 8
0
def asin(x):
    try:
        return ad.AutoDiff(asin(x.val), (1 / np.sqrt(1 - x.val**2)) * x.der)
    except Exception:
        return np.arcsin(x)
Exemplo n.º 9
0
def tan(x):
    try:
        return ad.AutoDiff(tan(x.val), 1 / (cos(x.val)**2) * x.der)
    except Exception:
        return np.tan(x)
Exemplo n.º 10
0
def cos(x):
    try:
        return ad.AutoDiff(cos(x.val), -sin(x.val) * x.der)
    except Exception:
        return np.cos(x)
Exemplo n.º 11
0
def sqrt(x):
    try:
        return ad.AutoDiff(np.sqrt(x.val), x.der * 1 / (2 * np.sqrt(x.val)))
    except Exception:
        return x**0.5