[ANN] Symbolics.jl: A Modern Computer Algebra System for a Modern Language

Think about this comment a little bit deeper. We’ve read the literature (of course), and now it’s saying don’t try anything until you know you have a plan that won’t fail at anything? Isn’t that a little crazy?

Instead, we are building something based off of the current literature that already is solving problems in cases where the previous tools we hooked up with failed (we have set ModelingToolkit.jl up with SymPy, SymEngine, and REDUCE already before starting a CAS, all of those had failed to do what we needed before this had succeeded). Will we have gotten everything right the first time? No, in fact we’re already onto our 3rd underlying representation, now hitting benchmark speeds on par with SymEngine (which itself benchmarks really well), with an extensible rule-based system that supports non-commutative algebras. We may have to tweak it again, and making a higher level that is robust to such changes is just good smart coding. Remember, we’re only in year 2 of what is a 30 year journey.

34 Likes