baharev / safe-eliminations

Identifying numerically safe eliminations automatically
BSD 3-Clause "New" or "Revised" License
5 stars 2 forks source link
elimination numerical-methods python symbolic-expressions symbolic-manipulation sympy tearing

Identifying numerically safe eliminations automatically

The background is discussed in 2. Identifying feasible assignments of

Ordering matrices to bordered lower triangular form with minimal border width.

The code here is derived from:

https://github.com/baharev/sdopt-tearing/blob/master/sympy_tree.py

However, sympy_tree.py is concerned with binary expression trees coming from Modelica and generating output for AMPL. The solvable.py is only concerned with expression trees coming from, and going to SymPy.
The caveats mentioned in the last two paragraphs of 2.2. Identifying numerically troublesome assignments in Ordering matrices to bordered lower triangular form with minimal border width do apply!

Of course, the long-term goal is to merge the code back into sdopt-tearing.