mmikhasenko / ThreeBodyDecays.jl

Builder of the three-body decay model using cascade approach
https://mmikhasenko.github.io/ThreeBodyDecays.jl/
MIT License
2 stars 0 forks source link

Full amplitude as matrix #36

Closed mmikhasenko closed 2 months ago

mmikhasenko commented 3 months ago

Closes #28 Closes #27

Speed up (x60)

Working with matrices speeds up the code by a factor of x40, 🎉 Another 20% one gains using @tullion for index loops.

Test

The Intervention let do a finding that test coverage on full model functionality was pure. New tests with 20 chains of different k improve the coverage.

Breaking

  1. Note, the PR might modify how SymbolicThreeBodyDecays.jl work due to
    one_T = one(typeof(two_js[1]))
    d_norm = sqrt(two_j * one_T + 1)

that used to be from two_λs

  1. amplitude with two arguments is used for full_amplitude computation, but also for dalitz-plot point evaluation. The conflict is resolved by specifying the type of sigma for the first call.

It's not ideal, since SymbolicTBDs.jl won't work again