Skip to content

v0.8.0

Compare
Choose a tag to compare
@github-actions github-actions released this 04 Jan 11:15
· 135 commits to master since this release
659dd36

HarmonicBalance v0.8.0

Diff since v0.7.2

The release contains some breaking changes, i.e., some of you old code will not work on the new version. This includes:

  • We changed the keyword random_warmup::Bool to replace it with method::Char keyword. We did this to allow more homoyopy methods then :total_degree and :random_warmup For example, now you could also use the :polyhedral method. See Homotopy Continuation documentation for more info. In the future, we are planning to add the :monodromy method.
  • For larger systems, the classification was quite slow. This was partly due to inefficient use of dictionary as a data structure. We rewrote the code such that this was avoided and got 3x speedup from it. However, this comes with side effect that costum classification function defined by the user will not work for v0.8. Nevertheless, these costum function can easily be update by assuming a vector instead of dictionary.

Some other (non-breaking) noteworthy changes are:

  • We threaded the classification process. Just start your julia instance with some threads and threading is automatically enabled.
  • We have added the option to access all the homotopy solver options. The enables you to tweak tracker_options and endgame_options which make the homotopy faster. Just add the kwargs you want to the get_steady_states and those will be passed on to the homotopy solve function.
  • The last but not the least, we finally got a seed feature. This means HarmonicBalance.jl is now completely reproduceable. This not only means that we now can write better tests for the package, but you can also more easily report bugs/results to collaborators. But even better, when sharing code to the outside world it will be reproduceable.

Merged pull requests:

Closed issues:

  • get_single_solution use in internals (#132)