mschlund / FPsolve

FPsolve: solver for polynomial equations over omega-continuous semirings
BSD 2-Clause "Simplified" License
11 stars 5 forks source link

Improvements of newton_generic #39

Closed michalt closed 11 years ago

michalt commented 11 years ago

This implements a few general improvements in newton_generic.h (avoiding of some unnecessary copies and recreating some data structures). Additionally it also implements CommutativeConcreteLinSolver, which computes the Kleene star at every iteration using Floyd-Warshall (i.e., no symbolic encoding, no make_free, etc., but the Jacobian matrix is computed just once). Combined with the above improvements the time to solve float_perf_test4.g goes down from around 90s to 1.8s (we're 50 times faster!). :-)

As always, all comments are welcome.

michalt commented 11 years ago

I've just made an additional commit to improve the delta_at of CommutativeDeltaGenerator and the time for float_perf_test4.g goes down to 1s on my machine.