You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Clad internally generates pushforward functions for differentiating function calls in forward mode AD. However, clad::differentiate, the user-interface for forward mode AD, generates a more restricted form of pushforward function which does not allow users to tweak the seed values. While pushforward functions are more difficult to use, they offer more control over the forward mode AD and allow to compute directional derivatives. Higher-order pushforward functions can even be used to compute partial derivatives such as d2y/dx1dx2 where y is the output parameter and x1 and x2 are distinct input parameters.
We should keep clad::differentiate as it is because it is easier to use and add a new function such as clad::pushforward that allows users to request generation of pushforward functions.
The text was updated successfully, but these errors were encountered:
btw, I had a similar idea in the context of #1023. this isn't the same, but it's kind of related and could potentially be an alternative solution to that issue if #1038 never gets merged (to some extent of course, since this still requires user to do some extra requests)
Clad internally generates
pushforward
functions for differentiating function calls in forward mode AD. However,clad::differentiate
, the user-interface for forward mode AD, generates a more restricted form ofpushforward
function which does not allow users to tweak the seed values. Whilepushforward
functions are more difficult to use, they offer more control over the forward mode AD and allow to compute directional derivatives. Higher-orderpushforward
functions can even be used to compute partial derivatives such asd2y/dx1dx2
wherey
is the output parameter andx1
andx2
are distinct input parameters.We should keep
clad::differentiate
as it is because it is easier to use and add a new function such asclad::pushforward
that allows users to request generation of pushforward functions.The text was updated successfully, but these errors were encountered: