-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
[math][RF] Define pullback of ROOT::Math::landau
functions for AD
#15501
[math][RF] Define pullback of ROOT::Math::landau
functions for AD
#15501
Conversation
Test Results 11 files 11 suites 2d 6h 40m 29s ⏱️ Results for commit b0241db. ♻️ This comment has been updated with latest results. |
*d_x += _d_v / xi; | ||
*d_x0 += -_d_v / xi; | ||
*d_xi += _d_v * -((x - x0) / (xi * xi)); | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@PetroZarytskyi, @vaithak, you take a look and maybe simplify this code?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you mean simplifying it manually or making changes in Clad to simplify the generated code ?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Simplifying it manually.
c9341b6
to
2f06670
Compare
ROOT::Math::landau_cdf
for ADROOT::Math::landau
functions for AD
Hi @vgvassilev, thanks for the initiative! I notices that so far, the |
We will have a problem if we need to build hessians because we will need to provide the higher order propagators ourselves. |
I suspect we could reduce the code of the landau pullback quite a lot. |
To avoid fallback to numeric differentiation because the function is not inlined. The pullbacks were automatically generated with Clad master, and then manually simplified. It was carefully checked that the updated unit tests cover all code branches of the pullback.
2f06670
to
c62bb7d
Compare
In commit 50c76e1, the `flexibleInterp` function was called in the code generated by `PiecewiseInterpolation::translate()` with the wrong template arguments
I'm not sure there is still room for much improvement: I have already simplified a lot in my initial PR. Maybe we can merge it, and if you and @vaithak feel like simplifying the pullbacks manually, you can do so in a follow-up PR? |
Yes, let's make progress here. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, assuming we can work on further simplifying the code.
To avoid fallback to numeric differentiation because the function is not
inlined.
The pullbacks were automatically generated with Clad master, and then
manually simplified. It was carefully checked that the updated unit
tests cover all code branches of the pullback.