What do you think about letting the user decide for each individual variable? e.g.
class RigidBody:
def __init__(self, mass=None, mass_center=None, …):
“””None indicates use symbolic.”””
Then you could do a mix:
rb = RigidBody(mass=5.3)
I think you already stated this idea in some form, so I don’t think I’m saying anything new.
It sounds like the real challenge is just figuring out how to design classes so that the interface above is possible. One option is to create a new abstraction for quantities that are either symbolic or numeric: HybridQuantity, or HybridSymbol. Then, `mass`, and `mass_center` would both be of type `HybridQuantity`. Such a class could handle all the complexity of figuring out whether the quantity is symbolic or numeric, and the RigidBody class could not worry about it.