SymPy is pretty niche, but it saved my butt many years ago in my years of collegiate robotics. We spent months unsuccessfully trying to compute kinematics and sensor coordinate transformations on vectors of quarternions by “hand” with numpy. I wouldn’t wish it on my worst enemy. There are so many opportunities for mistakes, and the intermediate numbers can rarely be checked against your intuition.With SymPy however (and some optional Newtonian physics package), one can simply define their free-bodies and coordinate systems, and SymPy will spit out simplified, compiled tensors of whatever expressions they want! It was truly magical at the time.
creata|5 years ago
I don't know; I use isympy (interactive sympy, uses IPython if installed) as a local Wolfram Alpha for all my math problems, and it's really good at that.
qubex|5 years ago
It’s called Mathematica, son.
moorepants|5 years ago
sympy.physics.vector (https://docs.sympy.org/dev/modules/physics/vector/index.html
and
sympy.physics.mechanics (https://docs.sympy.org/dev/modules/physics/mechanics/index.h...)
You can ultimately simulate and visualize dynamical systems:
https://pydy.readthedocs.io/en/latest/examples/multidof-holo...
DylanDmitri|5 years ago
Eventual goal was trying to implement something like XGBoost, but by applying successive regression equations to the residuals instead of successive decision trees. E.g. figure out that a sin wave best fits the initial data, and then a linear best explains the remaining difference.
Worked pretty well on toy data sets, but was much too slow to scale to anything real. Still think the idea has promise for producing human interpretable ML models.
nestorD|5 years ago
10000truths|5 years ago
billfruit|5 years ago
These symbolic tools can save ones skin on a bad day.