Make sure that all or as many as possible computations in Cheetah are fully differentiable using PyTorch's built-in differentiation features.
Motivation
Differentiation would make solving many problems super simple. One could then, for example use gradient descent to find magnet settings for the optimal beam.
Differentiation would also be very simple to add, as gradient tracking is already done by PyTorch. All we would need to do is to make sure they track properly through all of Cheetah, i.e. we have low-hanging fruit here.
🚀 Feature Request
Make sure that all or as many as possible computations in Cheetah are fully differentiable using PyTorch's built-in differentiation features.
Motivation