Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

first & second derivative #160

Open
wants to merge 58 commits into
base: first_derivative
Choose a base branch
from
Open

Conversation

sjanssen2
Copy link
Member

@sjanssen2 sjanssen2 commented Dec 2, 2022

gapc will produce the following files, if you ask for second derivatives --derivative 2. You also have to specify an algebra product like left * right where left and right algebras must be synoptic!

  • out_derivative1.hh
  • out_derivative1.cc
  • out_derivative2.hh
  • out_derivative2.cc
  • out.mf (which will generate out_main.cc)
  • (out.dot) if requested

adding additional member q, since D2 needs to store both vdot and q for candidates (note that naming schema is messed up!)
adding soft_max_hessian operator

  • will Alt::Block work?
  • fix nested Alt Situations like ml_comps -> cadd(incl(dangle), ml_comps1)

…or candidates (note that naming schema is messed up!)

adding soft_max_hessian operator
…ssically or via the hessian product operator
…nd re-execute "back()"

let multiple functions additionally know if user requested derivative generation
…uested by the user

added function to split the algebra product "first * second" into two independet instances for derivative generation, i.e. "back()" will be executed twice, resulting in multiple .hh and .cc files
different code generation for first and second derivative in "inject_derivative_body" and "init_derivative_recording"
added new function "derivative_collect_traces"
replace bool "inject_derivatives" with int "ast.current_derivative"
"push_back_ret_decl" also declares variables "edgeweight" to record these in addition to vdot
…uested derivative generation

made "class_name" private to enforce use of convenience functions "set_class_name" and "get_class_name_lower_derivative" to prepend "_derivativeX" if necessary
sjanssen2 and others added 28 commits December 7, 2022 17:00
@fymue fymue mentioned this pull request Jun 13, 2023
13 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant