Skip to content

Instantly share code, notes, and snippets.

@tswedish
Last active May 26, 2020 20:38
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tswedish/849c2f3ef0d3a2db0b65a8ea3e4b369b to your computer and use it in GitHub Desktop.
Save tswedish/849c2f3ef0d3a2db0b65a8ea3e4b369b to your computer and use it in GitHub Desktop.
def create_diff_fn(fn):
def diff_fn(*argv):
jacobian = []
Dual_arguments = [Dual(x, 0.) for x in argv]
for input_arg in Dual_arguments:
input_arg.derivative = 1.
result = fn(*Dual_arguments)
jacobian.append(result.derivative)
input_arg.derivative = 0.
return jacobian
return diff_fn
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment