Module: Math

Extended by:
DualNumWrappable
Defined in:
lib/autodiff/math.rb

Class Method Summary collapse

Methods included from DualNumWrappable

dual_method

Class Method Details

.dual_cos(n) ⇒ Object



31
32
33
# File 'lib/autodiff/math.rb', line 31

def dual_cos(n)
  -sin(n.real) * n.epsilon
end

.dual_exp(n) ⇒ Object



46
47
48
# File 'lib/autodiff/math.rb', line 46

def dual_exp(n)
  exp(n.real) * n.epsilon
end

.dual_log(n, base = Math::E.to_dual) ⇒ Object



41
42
43
# File 'lib/autodiff/math.rb', line 41

def dual_log(n, base=Math::E.to_dual)
  1 / n.real / log(base.real) * n.epsilon
end

.dual_sin(n) ⇒ Object



26
27
28
# File 'lib/autodiff/math.rb', line 26

def dual_sin(n)
  cos(n.real) * n.epsilon
end

.dual_tan(n) ⇒ Object



36
37
38
# File 'lib/autodiff/math.rb', line 36

def dual_tan(n)
  ((1/cos(n.real)) ** 2) * n.epsilon
end