Rafael Bailo · Alethea Barbaro · Susana N. Gomes · Konstantin Riedl · Tim Roith · Claudia Totzeck · Urbain Vaes
arXiv: 2403.14470, 2024.
arXiv: 2403.14470, 2024.
@Article{BBG2024
title={{CBX}: {P}ython and {J}ulia packages for
consensus-based interacting particle methods},
author={Bailo, Rafael and Barbaro, Alethea and Gomes, Susana N. and Riedl, Konstantin and Roith, Tim and Totzeck, Claudia and Vaes, Urbain},
journal={Preprint arXiv: 2403.14470},
year={2024},
doi={10.48550/arXiv.2403.14470},
archivePrefix={arXiv},
arXivId={2403.14470},
eprint={2403.14470},
}
We introduce CBXPy and ConsensusBasedX.jl, Python and Julia implementations of consensus-based interacting particle systems (CBX), which generalise consensus-based optimization methods (CBO) for global, derivative-free optimisation. The raison d'être of our libraries is twofold: on the one hand, to offer high-performance implementations of CBX methods that the community can use directly, while on the other, providing a general interface that can accommodate and be extended to further variations of the CBX family. Python and Julia were selected as the leading high-level languages in terms of usage and performance, as well as their popularity among the scientific computing community. Both libraries have been developed with a common ethos, ensuring a similar API and core functionality, while leveraging the strengths of each language and writing idiomatic code.
We introduce CBXPy and ConsensusBasedX.jl, Python and Julia implementations of consensus-based interacting particle systems (CBX), which generalise consensus-based optimization methods (CBO) for global, derivative-free optimisation. The raison d'être of our libraries is twofold: on the one hand, to offer high-performance implementations of CBX methods that the community can use directly, while on the other, providing a general interface that can accommodate and be extended to further variations of the CBX family. Python and Julia were selected as the leading high-level languages in terms of usage and performance, as well as their popularity among the scientific computing community. Both libraries have been developed with a common ethos, ensuring a similar API and core functionality, while leveraging the strengths of each language and writing idiomatic code.