optimization tools for PHYsics based on Bayesian Optimization
Bayesian optimization has been proven as an effective tool in accelerating scientific discovery. A standard implementation (e.g., scikit-learn), however, can accommodate only small training data. PHYSBO is highly scalable due to an efficient protocol that employs Thompson sampling, random feature maps, one-rank Cholesky update and automatic hyperparameter tuning. Technical features are described in COMBO's document and PHYSBO's report (open access). PHYSBO was developed based on COMBO for academic use.
Documentation
Dependencies
- Python >= 3.9
- NumPy
- SciPy
Optional dependencies
-
ODAT-SE (for continuous space optimization)
python3 -m pip install odat-se
Install
-
From PyPI (recommended)
python3 -m pip install physbo
-
From source (for developers)
-
Download or clone the github repository
git clone https://github.com/issp-center-dev/PHYSBO
-
Install via pip
# ./PHYSBO is the root directory of PHYSBO # pip install options such as --user are avaiable python3 -m pip install ./PHYSBO
-
Uninstall
python3 -m pip uninstall physbo
Usage
For an introductory tutorial please consult the documentation. (English / 日本語)
'examples/simple.py' is a simple example.
Data repository
A tutorial and a dataset of a paper about PHYSBO can be found in PHYSBO Gallery.
For developers
UV is recommended to make a virtual environment and install dependencies for development.
Run tests
When using UV, the command uv sync --extra tests will install the dependencies to run tests like pytest.
Test files are in tests/ directory, and use pytest to run tests.
uv run pytest tests
Build documentation
When using UV, the command uv sync --extra docs will install the dependencies for building the documentation like sphinx.
The command
uv run bash docs/make_docs.sh
will build the documentation into docs/built.
License
PHYSBO was developed based on COMBO for academic use. PHYSBO is distributed under Mozilla Public License version 2.0 (MPL v2).
We hope that you cite the following references when you publish the results using PHYSBO:
-
- Bibtex
@article{PHYSBO-paper2022, title = {Bayesian optimization package: PHYSBO}, journal = {Computer Physics Communications}, volume = {278}, pages = {108405}, year = {2022}, issn = {0010-4655}, doi = {https://doi.org/10.1016/j.cpc.2022.108405}, author = {Yuichi Motoyama and Ryo Tamura and Kazuyoshi Yoshimi and Kei Terayama and Tsuyoshi Ueno and Koji Tsuda}, keywords = {Bayesian optimization, Multi-objective optimization, Materials screening, Effective model estimation} }
-
- Bibtex
@misc{PHYSBO-paper2026, doi = {10.48550/ARXIV.2603.01349}, url = {https://arxiv.org/abs/2603.01349}, author = {Motoyama, Yuichi and Yoshimi, Kazuyoshi and Aoyama, Tatsumi and Terayama, Kei and Tsuda, Koji and Tamura, Ryo}, keywords = {Computational Physics (physics.comp-ph), Materials Science (cond-mat.mtrl-sci), FOS: Physical sciences, FOS: Physical sciences}, title = {Update of PHYSBO: Improving Usability and Portability of Bayesian Optimization for Physics and Materials Research}, publisher = {arXiv}, year = {2026}, copyright = {arXiv.org perpetual, non-exclusive license} }
Copyright
© 2020- The University of Tokyo. All rights reserved. This software was developed with the support of "Project for advancement of software usability in materials science" of The Institute for Solid State Physics, The University of Tokyo.
Metadata
Release files for physbo 3.2.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| physbo-3.2.1.tar.gz | 96.0 kB | Details |
Release files / physbo-3.2.1.tar.gz
| Download URL | physbo-3.2.1.tar.gz |
|---|---|
| Size | 96.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b39f78e09dc946233bf5ae0747377f75e6902bda4f93c3a08d70b16688036b16
|
|
BLAKE2b-256 checksum How to use checksums |
367023f02a86a48d76b86e3559804a61cedaf17aba3024f0cbc1bf179f779b8e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 9, 2026.
Transparency log