0.6.0ΒΆ
This release is another release of gristmill with significant update. First, the user interface for optimization has been updated for cleanness. The complex optimization strategy has been replaced with separate options for the function call.
Also internally, the code has been significantly cleaned up and improved. The primary driving force for the revisions are the lessons learned when writing the manuscripts for the optimization methodologies. Now the code has been made completely in sync with the description in the manuscripts. This also brings significant performance boost. For instance, for the optimization for problems with terms composed of a large number of factors, the contraction optimization algorithm has been upgraded with bits replacing hash tables for storing and manipulating factor/summation sets. Improvements by several orders-of-magnitude in performance can be seen in problems with say 20 factors. Even for problems with a small number of factors, usually performance boost by about ten times can be expected from the improvements in the summation optimizer.
A minor new feature is the addition of an option (remove_shallow
) to disable
the inlining of shallow intermediates in the optimizer. This can be used in
cases where the default behaviour is undesired. Also an option named
req_an_opt
can be used to possibly accelerate the optimization for
large-scale problems at the sacrifice of optimization quality. Also the tests
has been cleaned up for better coverage.