v0.8.0
HarmonicBalance v0.8.0
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 withmethod::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
andendgame_options
which make the homotopy faster. Just add the kwargs you want to theget_steady_states
and those will be passed on to the homotopysolve
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:
- Fix double progress bar (#128) (@oameye)
- Make it possible to thread the classification of solutions (#130) (@oameye)
- Speed up for classification by refactoring solution interface (#133) (@jkosata)
- change
random_warmup::Bool
keyword tomethod::Char
(#134) (@oameye) - classification bug (#135) (@oameye)
- classification bug (#136) (@oameye)
- Method keyword (#137) (@oameye)
- Add seed to reproduce results/bugs (#138) (@oameye)
- Update test.yml to test on 1.10 (#139) (@oameye)
- Play with warmup method and add polyhedral method (#140) (@oameye)
Closed issues:
get_single_solution
use in internals (#132)