Greetings, SymPy Developers,
My name is Devarsh Panchal, and I'm a physics undergraduate with a strong passion for classical mechanics and symbolic computation. I'm excited to contribute to the "Classical Mechanics: Efficient Equations of Motion Generation" project, and I’m particularly interested in enhancing how we compute equations of motion in the Mechanics module.
I believe there is significant potential to improve performance by refining current approaches. One key improvement I’m exploring is Vectorized Force Computation. Rather than relying on nested loops to compute non-conservative forces, I propose leveraging matrix Jacobians and bulk operations. This approach takes full advantage of SymPy’s robust matrix functionalities and should substantially reduce computational overhead.
Another focus area is Efficient Substitution. Currently, we use the subs method for substitutions, which—while versatile—can be slower for exact, repetitive replacements. By switching to xreplace and precomputing substitution dictionaries, especially for frequently encountered terms like q̈, we can streamline the process and eliminate redundant computations.
I’m eager to collaborate with the community to refine these ideas further and integrate them into the codebase. Your feedback and suggestions are most welcome as I work towards making these optimizations a reality.
Thank you for your time and consideration!
Best regards,
Devarsh Panchal