GithubHelp home page GithubHelp logo

Comments (8)

bradbell avatar bradbell commented on June 24, 2024

I am considering defining a new atomic function interface that would be easier to use and have more features. See the heading Atomic on
https://coin-or.github.io/CppAD/doc/wish_list.htm#Atomic

Note that this is currently a collection of thoughts about atomic functions and not as yet a plan.

from cppad.

joaoleal avatar joaoleal commented on June 24, 2024

Great! :)
I see that CppAD would potentialy provide the atomic function with the indication that some input variables are parameters through vx.
How about if that atomic function requires them to be parameters?
For instance, an atomic function could wrap an ADFun that requires the use of fun.new_dynamic(dynamic).

from cppad.

bradbell avatar bradbell commented on June 24, 2024

I think that I have solved this issue; see the headings 01-05 and 01-06 on
http://coin-or.github.io/CppAD/doc/whats_new_19.htm

from cppad.

joaoleal avatar joaoleal commented on June 24, 2024

from cppad.

bradbell avatar bradbell commented on June 24, 2024

I am not sure I understand the question
'will the reverse/forward jac/hess methods (not virtual) be called if I override the jac/hess methods?'

There is an base class definition, that returns false, for all of the virtual functions.
It the calculations require a virtual function that has not be defined, and NDEBUG is not defined, the program should return an error message identifying the required function.

Perhaps it is best to start with the example
http://coin-or.github.io/CppAD/doc/atomic_three_get_started.cpp.htm

As for using dynamic parameters. The following might be another place to get started:
http://coin-or.github.io/CppAD/doc/atomic_three_dynamic.cpp.htm

from cppad.

bradbell avatar bradbell commented on June 24, 2024

There is a problem optimizing with atomic_three functions (which I am fixing); see
https://coin-or.github.io/CppAD/doc/whats_new_19.htm#01-11

from cppad.

bradbell avatar bradbell commented on June 24, 2024

The problem has been fixed; see the heading 01-14 on
https://coin-or.github.io/CppAD/doc/whats_new_19.htm#01-14

from cppad.

joaoleal avatar joaoleal commented on June 24, 2024

Thank you!
I'm still implementing the changes to Cppadcodegen but the new atomic function API appears to be what is required to use parameters.

from cppad.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.