Recent Releases of egttools
egttools - 0.1.14-patch2
FIxed
- Wheels now correctly uploaded for the release
Full Changelog: https://github.com/Socrats/EGTTools/compare/v0.1.14-patch1...v0.1.14-patch2
- C++
Published by github-actions[bot] 7 months ago
egttools - 0.1.14-patch1
Fixed
- PyPi Classifiers were wrong, which created an error when uploading the new package to pypi.
Full Changelog: https://github.com/Socrats/EGTTools/compare/v0.1.14...v0.1.14-patch1
- C++
Published by github-actions[bot] 7 months ago
egttools - v0.1.14
Added
- Added support for building universal macOS wheels and ARM builds for Linux and Windows.
- Added fallback logic to skip
OpenMPwhen not supported (e.g., Windows/macOS universal). - Added automatic installation of dependencies via
vcpkg, including caching and toolchain integration. - Introduced modular CMake configuration using
CMakePresets.jsonand modularEnableXXX.cmakeutilities. - Added
Dockerfileto support containerized builds and local testing. - Implemented efficient factorial calculation in C++.
Changed
- Refactored build system for maintainability and CI compatibility:
- CI workflows now support
cibuildwheelv2.23.3 and manually triggered docs builds. - Moved doc generation to separate
docs.ymlworkflow and switched tofurotheme. - Enforced Python 3.10+ as the minimum supported version.
- CI workflows now support
- Improved README and build documentation.
- Updated pybind11 and vcpkg submodules to latest versions.
- Simplified
setup.pyand enforced properMACOSX_DEPLOYMENT_TARGETacross CI environments. - Made BLAS/LAPACK optional and adjusted linking strategy across platforms (including Accelerate on macOS).
Fixed
- Fixed multiple CI build issues related to:
libompinstallation and linking.vcpkginitialization and caching.- RTD (ReadTheDocs) upload and broken builds.
- Fixed memory management bugs in
pybind11bindings (e.g., garbage collection ofNDArrayobjects). - Fixed initialization bugs in simulation state (deep copy and move semantics added to
sample_simplexand related methods). - Resolved
Boostinstallation issues on some platforms.
What's Changed
- Bump pypa/gh-action-pypi-publish from 1.8.8 to 1.8.10 by @dependabot[bot] in https://github.com/Socrats/EGTTools/pull/75
- Bump ncipollo/release-action from 1.12.0 to 1.13.0 by @dependabot[bot] in https://github.com/Socrats/EGTTools/pull/76
- Bump pypa/cibuildwheel from 2.14.1 to 2.16.1 by @dependabot[bot] in https://github.com/Socrats/EGTTools/pull/78
- Bump pypa/cibuildwheel from 2.16.1 to 2.16.2 by @dependabot[bot] in https://github.com/Socrats/EGTTools/pull/83
- Bump pypa/gh-action-pypi-publish from 1.8.10 to 1.8.11 by @dependabot[bot] in https://github.com/Socrats/EGTTools/pull/85
- Bump github/codeql-action from 2 to 3 by @dependabot[bot] in https://github.com/Socrats/EGTTools/pull/86
- Bump ncipollo/release-action from 1.13.0 to 1.14.0 by @dependabot[bot] in https://github.com/Socrats/EGTTools/pull/90
- Bump jwlawson/actions-setup-cmake from 1.14 to 2.0 by @dependabot[bot] in https://github.com/Socrats/EGTTools/pull/91
- Bump pypa/gh-action-pypi-publish from 1.8.11 to 1.8.14 by @dependabot[bot] in https://github.com/Socrats/EGTTools/pull/93
- Bump pypa/cibuildwheel from 2.16.2 to 2.17.0 by @dependabot[bot] in https://github.com/Socrats/EGTTools/pull/94
- Bump robinraju/release-downloader from 1.8 to 1.10 by @dependabot[bot] in https://github.com/Socrats/EGTTools/pull/95
- Bump actions/download-artifact from 2 to 4.1.7 in /.github/workflows by @dependabot[bot] in https://github.com/Socrats/EGTTools/pull/102
- Bump robinraju/release-downloader from 1.10 to 1.11 by @dependabot[bot] in https://github.com/Socrats/EGTTools/pull/97
- Bump pypa/gh-action-pypi-publish from 1.8.14 to 1.10.1 by @dependabot[bot] in https://github.com/Socrats/EGTTools/pull/103
- Bump pypa/cibuildwheel from 2.17.0 to 2.21.0 by @dependabot[bot] in https://github.com/Socrats/EGTTools/pull/104
- Bump pypa/cibuildwheel from 2.21.0 to 2.21.3 by @dependabot[bot] in https://github.com/Socrats/EGTTools/pull/109
- Bump pypa/gh-action-pypi-publish from 1.10.1 to 1.10.3 by @dependabot[bot] in https://github.com/Socrats/EGTTools/pull/108
- Bump pypa/cibuildwheel from 2.21.3 to 2.23.3 by @dependabot[bot] in https://github.com/Socrats/EGTTools/pull/122
- Bump robinraju/release-downloader from 1.11 to 1.12 by @dependabot[bot] in https://github.com/Socrats/EGTTools/pull/119
- Bump ncipollo/release-action from 1.14.0 to 1.16.0 by @dependabot[bot] in https://github.com/Socrats/EGTTools/pull/117
- Bump pypa/gh-action-pypi-publish from 1.10.3 to 1.12.4 by @dependabot[bot] in https://github.com/Socrats/EGTTools/pull/116
- Bump peaceiris/actions-gh-pages from 3 to 4 by @dependabot[bot] in https://github.com/Socrats/EGTTools/pull/123
- Bump pypa/cibuildwheel from 2.23.3 to 3.0.0 by @dependabot[bot] in https://github.com/Socrats/EGTTools/pull/125
- Bump ncipollo/release-action from 1.16.0 to 1.18.0 by @dependabot[bot] in https://github.com/Socrats/EGTTools/pull/126
- Bump pypa/cibuildwheel from 3.0.0 to 3.0.1 by @dependabot[bot] in https://github.com/Socrats/EGTTools/pull/127
Full Changelog: https://github.com/Socrats/EGTTools/compare/v0.1.13...v0.1.14
- C++
Published by github-actions[bot] 7 months ago
egttools - 0.1.13-patch5
Fixed
- Fixed state initialization in
NetworkSyncandNetworkGroupSync. The state was not being randomly initialized. - Fixed incorrect use of
sample_without_replacement. It must only be used when the sample is smaller than the population.
Changed
- Exposed the expected payoffs of
NormalFormNetworkGameto Python
Full Changelog: https://github.com/Socrats/EGTTools/compare/v0.1.13-patch4...v0.1.13-patch5
- C++
Published by github-actions[bot] over 2 years ago
egttools - 0.1.13-patch4
Fixed
- Fixed segfault in PairwiseComparisonNumerical run method. when called using a transient period, the function surpass the array index limit, thus causing a bad memory access and a segfault
Added
- Added a version of run with transient and no mutation
- Added new argument checks
Changed
- Changed the generation and transient parameter types from int to intfast64t
- The methods that have a mutation parameter enforce that mu>0 to avoid errors
- There will be a bad argument error if the beta parameter used in the python call is not explicitly a float
Full Changelog: https://github.com/Socrats/EGTTools/compare/v0.1.13-patch3...v0.1.13-patch4
- C++
Published by github-actions[bot] over 2 years ago
egttools - 0.1.13-patch3
Fixed
- fixed NetworkSync and NetworkGroupSync structures updates
What's Changed
- Bump pypa/gh-action-pypi-publish from 1.8.8 to 1.8.10 by @dependabot in https://github.com/Socrats/EGTTools/pull/75
- Bump ncipollo/release-action from 1.12.0 to 1.13.0 by @dependabot in https://github.com/Socrats/EGTTools/pull/76
- Bump pypa/cibuildwheel from 2.14.1 to 2.16.1 by @dependabot in https://github.com/Socrats/EGTTools/pull/78
- Bump pypa/cibuildwheel from 2.16.1 to 2.16.2 by @dependabot in https://github.com/Socrats/EGTTools/pull/83
Full Changelog: https://github.com/Socrats/EGTTools/compare/v0.1.13-patch2...v0.1.13-patch3
- C++
Published by github-actions[bot] over 2 years ago
egttools - v0.1.13-patch2
Fixed
- fixed issue with dynamic linking of OpenMP
Changes
- dropped support for OpenMP on macOS temporally
- now OpenMP is linked statically again for linux
Full Changelog: https://github.com/Socrats/EGTTools/compare/v0.1.13...v0.1.13-patch2
- C++
Published by github-actions[bot] over 2 years ago
egttools - v0.1.13
Fixed
- fixed issue with environmental variables not working on MacOS builds in Github Actions
- fixed gradient of selection estimation algorithm
- fixed issue with multiple libomp.dylib copies loading
- fixed issue with the citation of current version of egttools
- fixed link to anaconda documentation
Changes
- now openmp is linked dynamically to avoid conflicts on MacOS
- increased minimum required cmake version to 3.18
- changed int to intfast64t to support larger number of generations
Added
- added NetworkSync evolver
- added more support for network simulations
- added Cache to accelerate PairwiseComparison
- added calculation of the averaged gradient of selection
- added OneShotCRDNetworkGame
- OpenMP support for MacOS arm64
Other changes
- Bump robinraju/release-downloader from 1.6 to 1.7 by @dependabot in https://github.com/Socrats/EGTTools/pull/48
- Bump pypa/gh-action-pypi-publish from 1.6.4 to 1.7.1 by @dependabot in https://github.com/Socrats/EGTTools/pull/52
- Bump pypa/cibuildwheel from 2.11.2 to 2.12.1 by @dependabot in https://github.com/Socrats/EGTTools/pull/51
- Bump pypa/gh-action-pypi-publish from 1.7.1 to 1.8.1 by @dependabot in https://github.com/Socrats/EGTTools/pull/53
- Bump pypa/gh-action-pypi-publish from 1.8.1 to 1.8.3 by @dependabot in https://github.com/Socrats/EGTTools/pull/54
- Bump pypa/gh-action-pypi-publish from 1.8.3 to 1.8.4 by @dependabot in https://github.com/Socrats/EGTTools/pull/55
- Bump pypa/gh-action-pypi-publish from 1.8.4 to 1.8.5 by @dependabot in https://github.com/Socrats/EGTTools/pull/56
- Bump pypa/cibuildwheel from 2.12.1 to 2.12.3 by @dependabot in https://github.com/Socrats/EGTTools/pull/58
- Bump jwlawson/actions-setup-cmake from 1.13 to 1.14 by @dependabot in https://github.com/Socrats/EGTTools/pull/59
- Bump pypa/cibuildwheel from 2.12.3 to 2.13.1 by @dependabot in https://github.com/Socrats/EGTTools/pull/63
- Bump robinraju/release-downloader from 1.7 to 1.8 by @dependabot in https://github.com/Socrats/EGTTools/pull/61
- Bump pypa/gh-action-pypi-publish from 1.8.5 to 1.8.6 by @dependabot in https://github.com/Socrats/EGTTools/pull/60
- Match scatter output to matplotlib api changes by @cvanelteren in https://github.com/Socrats/EGTTools/pull/65
- Bump pypa/gh-action-pypi-publish from 1.8.6 to 1.8.7 by @dependabot in https://github.com/Socrats/EGTTools/pull/66
- Bump pypa/cibuildwheel from 2.13.1 to 2.14.0 by @dependabot in https://github.com/Socrats/EGTTools/pull/69
- Bump pypa/gh-action-pypi-publish from 1.8.7 to 1.8.8 by @dependabot in https://github.com/Socrats/EGTTools/pull/71
- Bump pypa/cibuildwheel from 2.14.0 to 2.14.1 by @dependabot in https://github.com/Socrats/EGTTools/pull/73
New Contributors
- @cvanelteren made their first contribution in https://github.com/Socrats/EGTTools/pull/65
Full Changelog: https://github.com/Socrats/EGTTools/compare/v0.1.12...v0.1.13
- C++
Published by github-actions[bot] over 2 years ago
egttools - v0.1.12-patch1
Fixed
- Fixed issue with link to Simplex2D class
- Match scatter output to matplotlib API changes [by cvanelteren]
- Fixed issue with compiling
Distributions.cppwithout Boost
Changed
- Removed support for
Python 3.7 - Dropped support for
Win32architectures - Removed
MACOSX_DEPLOYMENT_TARGETconstraint - Updated egttools citation
- Skip
multivariate_hypergeometrictests when compiling without Boost - Upgraded cibuildwheel to v2.14.0
- Set minimum Boost version to 1.70.0
Added
- Added basic unittests for plotting [by cvanelteren]
External changes
- Bump robinraju/release-downloader from 1.6 to 1.7 by @dependabot in https://github.com/Socrats/EGTTools/pull/48
- Bump pypa/gh-action-pypi-publish from 1.6.4 to 1.7.1 by @dependabot in https://github.com/Socrats/EGTTools/pull/52
- Bump pypa/cibuildwheel from 2.11.2 to 2.12.1 by @dependabot in https://github.com/Socrats/EGTTools/pull/51
- Bump pypa/gh-action-pypi-publish from 1.7.1 to 1.8.1 by @dependabot in https://github.com/Socrats/EGTTools/pull/53
- Bump pypa/gh-action-pypi-publish from 1.8.1 to 1.8.3 by @dependabot in https://github.com/Socrats/EGTTools/pull/54
- Bump pypa/gh-action-pypi-publish from 1.8.3 to 1.8.4 by @dependabot in https://github.com/Socrats/EGTTools/pull/55
- Bump pypa/gh-action-pypi-publish from 1.8.4 to 1.8.5 by @dependabot in https://github.com/Socrats/EGTTools/pull/56
- Bump pypa/cibuildwheel from 2.12.1 to 2.12.3 by @dependabot in https://github.com/Socrats/EGTTools/pull/58
- Bump jwlawson/actions-setup-cmake from 1.13 to 1.14 by @dependabot in https://github.com/Socrats/EGTTools/pull/59
- Bump pypa/cibuildwheel from 2.12.3 to 2.13.1 by @dependabot in https://github.com/Socrats/EGTTools/pull/63
- Bump robinraju/release-downloader from 1.7 to 1.8 by @dependabot in https://github.com/Socrats/EGTTools/pull/61
- Bump pypa/gh-action-pypi-publish from 1.8.5 to 1.8.6 by @dependabot in https://github.com/Socrats/EGTTools/pull/60
- Match scatter output to matplotlib api changes by @cvanelteren in https://github.com/Socrats/EGTTools/pull/65
- Bump pypa/gh-action-pypi-publish from 1.8.6 to 1.8.7 by @dependabot in https://github.com/Socrats/EGTTools/pull/66
- Bump pypa/cibuildwheel from 2.13.1 to 2.14.0 by @dependabot in https://github.com/Socrats/EGTTools/pull/69
New Contributors
- @cvanelteren made their first contribution in https://github.com/Socrats/EGTTools/pull/65
Full Changelog: https://github.com/Socrats/EGTTools/compare/v0.1.12...v0.1.12.patch1
- C++
Published by github-actions[bot] over 2 years ago
egttools - 0.1.12
Fixed
- Fixed stability plot and minor syntax issues.
- Fixed issue with fitness calculations of strategies with 0 counts in the population.
- Fixed LNK2005 error on windows.
- Fixed version naming convesion to adhere to PEP440.
Changed
- Changed name of
PairwiseMoranclass toPairwiseComparisonNumerical. - Changed function and class names that used "moran" to "pairwisecomparisonrule".
- Removed signatures of overloaded methods in docstrings.
- Moved all headers for pybind11 to .hpp files to avoid issues on windows.
- Updated pybind11 version to 2.10.
- Removed specialization of
binomialCoeffto avoid issues on Windows. - Refactored the binding code from C++ to Python so that now we use different files for defining each Python submodule.
This makes the code much more clear. These files can be found in
cpp/src/pybind11_files. - Now the GitHub CI builds download and install Boost C++ library, as it is required to build egttools.
- Dropped support for manylinux_i686. In the future only 64 bit architectures will be supported.
Added
- Added support for multiprecision types with boost::multiprecision.
- Added replicator equation for n-player games (implementation in c++).
- Added
replicator_equationimplementation in C++. - Added a new C++ implementation of the analytical stochastic dynamics named
PairwiseComparison. - Added
Matrix2PlayerGameHolderandMatrixNPlayerGameHolderclasses, so that a game can be defined using a payoff matrix. - Added several tests (coverage now is ~50%).
- Added tutorials to the documentation.
Other changes
- Bump robinraju/release-downloader from 1.5 to 1.6 by @dependabot in https://github.com/Socrats/EGTTools/pull/36
- Bump ncipollo/release-action from 1.11.1 to 1.11.2 by @dependabot in https://github.com/Socrats/EGTTools/pull/38
- Bump pypa/gh-action-pypi-publish from 1.5.1 to 1.5.2 by @dependabot in https://github.com/Socrats/EGTTools/pull/40
- Bump pypa/gh-action-pypi-publish from 1.5.2 to 1.6.1 by @dependabot in https://github.com/Socrats/EGTTools/pull/41
- Bump pypa/gh-action-pypi-publish from 1.6.1 to 1.6.3 by @dependabot in https://github.com/Socrats/EGTTools/pull/43
- Bump pypa/gh-action-pypi-publish from 1.6.3 to 1.6.4 by @dependabot in https://github.com/Socrats/EGTTools/pull/44
- Bump ncipollo/release-action from 1.11.2 to 1.12.0 by @dependabot in https://github.com/Socrats/EGTTools/pull/45
Full Changelog: https://github.com/Socrats/EGTTools/compare/v0.1.11...v0.1.12
- C++
Published by github-actions[bot] about 3 years ago
egttools - 0.1.11-patch2
Fixed
- Fixed error in
calculate_full_transition_matrix. The previous implementation tried to calculate the fitness for strategies with 0 counts in the population. This would lead to an error when calculating the probability of group forming. Now, we calculate directly the probability of a strategy with 0 counts increasing by 1 individual in the population, i.e., prob = (ndecreasingstrategy / populationsize) * (mu / (1 - nbstrategies)).
What's Changed
- Bump ncipollo/release-action from 1.11.1 to 1.11.2 by @dependabot in https://github.com/Socrats/EGTTools/pull/38
Full Changelog: https://github.com/Socrats/EGTTools/compare/v0.1.11-patch1...v0.1.11-patch2
- C++
Published by github-actions[bot] over 3 years ago
egttools - 0.1.11-patch1
Fixed
- Fixed issue with changing mutation rate in StochDynamics. When the mutation rate was updated
using
evolver.mu = new_value, the variableevolver.not_muwas not udpated. This variable was used bycalculate_full_stationary_distributionand it created an error. Nownot_muis calculated inside ofcalculate_full_stationary_distribution. - Fixed issue with
binomialCoeffimplemented in c++. In some cases, the intermediary calculations were overflowing anuint64_ttype when calling it frommultivariateHypergeometricPDF. Now, we no longer calculate the exact value inmultivariateHypergeometricPDF, instead use double types. This will be improved in the new version by usingboost/multiprecisionuint128_ttypes.
Changed
- Bump robinraju/release-downloader from 1.5 to 1.6 by @dependabot in https://github.com/Socrats/EGTTools/pull/36
Full Changelog: https://github.com/Socrats/EGTTools/compare/v0.1.11...v0.1.11-patch1
- C++
Published by github-actions[bot] over 3 years ago
egttools - 0.1.11
Fixed
- fixed errors in docstrings examples
- fixed missing headers
- fixed error in
full_fitness_difference_groupandcalculate_fulll_transition_matrix. There was a missing multiplying factor in the probability of transition due to mutation. The probability of selecting the strategy to dies must also be taken into account. There was also an issue when instantiating themulti_hypergeometric_distributionclass from scipy. It does not copy the array containing the counts of each strategy. Now we create a copy before passing the state vector to avoid the issue. - fixed issue with
AbstractNPlayerGame. For N-player games it was not a good idea to calculate the fitness in Python as this part of the class becomes a bottleneck, as it will be called more often then in the 2-player case (because there are more states - so less likely the fitness will be stored in cache). For this reason we now implemented this abstract class in C++ and the fitness calculation is done in this language. Everything else remains the same, and it should be equally easy to create new games. - fixed issues of missing initialization of internal parameters of some
egttools.games.NormalForm.TwoActionstrategies. Internal parameters should be initialized whentime == 0, i.e., at the beginning of each game.
Changed
- changed
egttoolstosrc-layout. This should help fix issues with tests and make the overall structure of the library cleaner. - moved C++ code to the
cppfolder. This way the code is more organized. - Bump pypa/cibuildwheel from 2.8.1 to 2.11.1
- Bump pypa/cibuildwheel from 2.11.1 to 2.11.2
- Bump robinraju/release-downloader from 1.4 to 1.5
- Bump ncipollo/release-action from 1.10.0 to 1.11.1
- removed support for win32 and manylinux_i686 for Python > 3.7
Added
- added new controls to
draw_stationary_distribution - added
enhancement_factorparameter toCRDGame. This parameter serves as a multiplying factor for the payoff of each player in case the target is achieved. Ifenhancement_factor = 1theCRDGamebehaves as usual. Forenhancement_factor > 1, we are incentivizing strategies that reach the target. - added
MemoryOneStrategytoegttools.games.NormalForm.TwoActionstrategies. - added
CommonPoolResourceDilemmagame - However it has still not been extensively tested!! - added
ninjaas a requirement for the build. - added
TimeBasedCRDStrategytoegttools.games.CRDstrategies. These strategies make contributions to the Public Good in function of the round of the game. - added
sdistto build. - added labels to the lines plot by
plot_gradientsso that several lines can be plotted. - added more unit testing, but this still needs a lot of improvement.
- added missing libraries on C++ code.
Full Changelog: https://github.com/Socrats/EGTTools/compare/v0.1.10...v0.1.11
- C++
Published by github-actions[bot] over 3 years ago
egttools - 0.1.10
Fixed
- fixed issue with the comparison of different types in
PairwiseMoran - fixed issue with colorbar so that now the axis is passed to maptlolib colorbar, this way it will be plotted correctly when drawing multiple subplots
- fixed issue with hardcoded x-axis in
plot_gradients - fixed error on
calculate_full_transition_matrix. The error happened when calculating the transition probability:- a) although the literature is a bit confusing on this, the original paper by Traulsen 2006 says that for the transition we consider that the strategies to reproduce and die are pricked simultaneously (so both with probability 1/Z).
- b) the is more accumulated numerical error when doing probability of transitioning from A to B P(A, B) = fermi(-beta, B - A) than when doing fermi(beta, A - B). This is probably specific to Python and Numpy, but must be taken into account in the future.
- c) The schur decomposition (egttools.utils.calculatestationarydistributionnonhermitian) works better in this case (although still has a slight numerical error) and should be used for full transition matrices).
- normalized transition probabilities to use the definition in Traulsen et al. 2006
- now we assume that both death and birth individuals are selected simultaneously with probability ni/Z, where ni is the number of individuals of that strategy in the population
Changed
- updated installation instructions
- updated to PEP 621 syntax
- updated setup.py since now scikit-build supports VS2019
- updated
draw_stationary_distributionto make the display of labels optional - changed stability calculation for the replicator dynamics to use the Jacobian matrix
- updated
plot_gradientsto check for all possible types of roots (stable, unstable and saddle) - removed stability checks for the stochastic dynamics
- if T+ is too small, phi will be approximated to infinity and the fixation probability will be approximated to 0.
- This may not be correct, since if pminus is also very small or equal to pplus, the outcome would be different. So it might change in a future version
- updated default language for documentation to
en - updated docstrings
- changed colorbar default label to gradient of selection
- droped pin to Sphinx <= 4.5.0
- updated variable name in AbstractGame
- changed name of variable in
calculate_fitnessmethod of Abstract game
Added
- added input parameter checks for
runandevolvemethods ofPairwiseMoran - created a method to calculate roots
- created a method to check the stability of the replicator dynamics through the Jacobian matrix
- added a check for the limit case in which the only non-negative eigenvalue is close to atol
- added new notebook with examples of use
- added an extra check when calculating fixation probabilities
- added Python 3.10 binary - except for Windows and manylinuxi686 as non numpy or scipy builds yet available
- added new CRD strategy
- added extra tolerance controls in
check_replicator_stability_pairwise_games - added new abstract game classes to simplify game implementation
- added
NPlayerStagHuntgame
Full Changelog: https://github.com/Socrats/EGTTools/compare/v0.1.9...v0.1.10
- C++
Published by github-actions[bot] over 3 years ago
egttools - 0.1.9-patch6
Fixed
- There was a problem with setting a
geometric_distributionin C++ as a private variable for OpenMP which caused some errors when estimating stationary distributions. This was fixed by setting it as a shared variable. - Fixed error on version formatting, it should be
0.1.9.dev6instead of0.1.9.patch6. - Fixed wrong version tag on git.
Added
- Binder links to run examples and updated notebooks
- Add a Gitter chat badge to README.md by @gitter-badger in https://github.com/Socrats/EGTTools/pull/12
Full Changelog: https://github.com/Socrats/EGTTools/compare/v0.1.9...v0.1.9-patch3
- C++
Published by github-actions[bot] about 4 years ago
egttools - 0.1.9-patch3
Added
- Added
gitterchat andbinderlaunch.
Fixed
- Added missing
seaborndependency. This dependency is only needed to be able to automatically generate colorblind colors to plot the invasion diagram, so it might be dropped in the future. But, for the moments, it provides the easiest way to do this.
Changed
- Updated docs and notebooks to use the latest
egttoolsAPI.
Full Changelog: https://github.com/Socrats/EGTTools/compare/v0.1.9...v0.1.9-patch3
- C++
Published by github-actions[bot] about 4 years ago
egttools - 0.1.9-patch2
Fixed
- This release fixes an issue with a modulo operation that was causing an index error when calculating stability for plotting dynamics on a simplex.
Full Changelog: https://github.com/Socrats/EGTTools/compare/v0.1.9...v0.1.9-patch2
- C++
Published by github-actions[bot] about 4 years ago
egttools - 0.1.9-patch1
Fixes
This release fixes an issue with CITATION.cff which prevented zenodo from publishing a new doi.
Full Changelog: https://github.com/Socrats/EGTTools/compare/v0.1.9...v0.1.9-patch1
- C++
Published by Socrats about 4 years ago
egttools - 0.1.9
This releases fixes some bugs and simplifies the Simplex plotting.
Added
- Added
plot_replicator_dynamics_in_simplexandplot_moran_dynamics_in_simplexto simplify the plotting of 2 Simplexes when usingreplicator_equationandStochDynamicsprovided inegttools. - Added an extra example to the docs to showcase the simplified plotting.
Fixed
- Fixed wrong numpy use in
egttools.utils.calculate_stationary_distribution. Instead ofnumpy.eigthe correct use isnumpy.linalg.eig. - Fixed issue with plotting edges which have random drift.
Before
egttools.plotting.helpers.calculate_stationary_pointswould logically find many roots in an edge with random drift andSimplex2D.draw_stationary_pointswould attempt to draw all of them. Now, we first search of edges in which there is random drift, and mask them, so that no stationary points nor trajectories are plot in the edge. Instead, we draw adashedline to represent the random drift.
Changed
- Updated
Readme.mdto use the simplifiedplot_replicator_dynamics_in_simplexin the example of 2 Simplex plotting.
Full Changelog: https://github.com/Socrats/EGTTools/compare/v0.1.8...v0.1.9
- C++
Published by github-actions[bot] about 4 years ago
egttools - 0.1.8
The major feature of this update is to add a class to visualize evolutionary dynamics in 2-Simplexes.
Added
- Added
Simplex2Dclass which can be used to plot the evolutionary dynamics in a 2-Simplex. - Added
OneShotCRDgame. - Added
egttools.utils.calculate_stationary_distribution_non_hermitianwhich usesscipy.linalg.schurinstead ofnumpy.linalg.eig. This function should be used when the transition matrix is not Hermitian (not symmetric if all the values are real). This may happen when studying the full state-space in a simplex of higher than 3 dimensions.
Fixed
- Fixed issue with extending
AbstractGamein Python. - Fixed bug in
egttools.utils.get_payoff_function.
Changed
- Updated output of
StochDynamics.transition_and_fixation_matrixso that the correct fixation probabilities are returned, instead offixation_probabilities/(1/Z). draw_stationary_distributionwas also updated so that it expects the fixation probabilities as input and notfixation_probabilities/(1/Z).- Several improvements in documentation and docstrings.
Full Changelog: https://github.com/Socrats/EGTTools/compare/v0.1.6.dev7...v0.1.8
- C++
Published by github-actions[bot] about 4 years ago
egttools - 0.1.6.dev7
This update fixes an error that caused transformations for pairwise payoffs to be used in the small mutation limit calculations to be wrong for monomorphic states (payoff of a strategy in a population of the same strategy).
Changes
- fixed bug on egttools.utils.getpayofffunction which is used by transformpayoffsto_pairwise
Full Changelog: https://github.com/Socrats/EGTTools/compare/v0.1.6.dev6...v0.1.6.dev7
- C++
Published by github-actions[bot] over 4 years ago
egttools - 0.1.6.dev6
New
- Added support for MacOS arch arm64 and universal2 builds
- Added arm64 and universal2 build to Github CI
- Added python37 builds
- Now Wheels action also runs tests for each wheel (excluding arm64 and universal2:arm64)
- Added example on how to draw invasion diagrams with
egttools
Changes
- Removed support for OpenMP on Windows and MacOS until a workaround is found
- Changed unsigned int (size_t) indexes from PairwiseMoran to avoid issues with Eigen::Index
Changelog
- Bump pypa/gh-action-pypi-publish from 1.4.1 to 1.4.2 by @dependabot in https://github.com/Socrats/EGTTools/pull/3
Full Changelog: https://github.com/Socrats/EGTTools/compare/v0.1.6.dev2...v0.1.6.dev6
- C++
Published by github-actions[bot] over 4 years ago
egttools - 0.1.6.dev2
- This is the first release of
egttoolswhich include numerical simulations that run in C++ with python bindings. - There has been a number of improvements in the StochDynamics methods.
- New plotting methods included.
- A new interface to create Games and Strategies
- This release supports different Linux, Windows and Mac build, however we do not support arm64 for now. If you wish to use
egttoolsyou can compile it in your machine following the instructions in the Readme.md.
- C++
Published by github-actions[bot] over 4 years ago
egttools - First EGTtools version
This version includes only numerical methods to study/model the Evolutionary Game Dynamics in normal form 2-player games both under the Small Mutation Limit (SML) and without this assumption.
- There are also helper functions for plotting and finding saddle points.
- C++
Published by Socrats almost 6 years ago