Skip to content

Commit

Permalink
Updates to README.md and index.rst and added CITATION.cff
Browse files Browse the repository at this point in the history
- Added CITATION.cff for easy citation.
- Changed sentence about Python in README.md for clarity.
- Updated (bibtex) citation in README.md.
- Added more information on contributing to the README.md
- Added a link to the arXiv paper in index.rst.
- The CITATION.cff file is now also named in index.rst.
  • Loading branch information
NanneD committed Aug 29, 2024
1 parent 7b5765e commit 34fd2e7
Show file tree
Hide file tree
Showing 3 changed files with 53 additions and 6 deletions.
30 changes: 30 additions & 0 deletions CITATION.cff
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Dieleman"
given-names: "Nanne A."
orcid: "https://orcid.org/0000-0002-2561-2674"
- family-names: "Berkhout"
given-names: "Joost"
orcid: "https://orcid.org/0000-0001-5883-9683"
- family-names: "Heidergott"
given-names: "Bernd"
orcid: "https://orcid.org/0000-0002-3389-2311"
title: "SM-SPSA"
url: "https://github.com/NanneD/SM-SPSA"
preferred-citation:
type: article
authors:
- family-names: "Dieleman"
given-names: "Nanne A."
orcid: "https://orcid.org/0000-0002-2561-2674"
- family-names: "Berkhout"
given-names: "Joost"
orcid: "https://orcid.org/0000-0001-5883-9683"
- family-names: "Heidergott"
given-names: "Bernd"
orcid: "https://orcid.org/0000-0002-3389-2311"
title: "A Pseudo-Gradient Approach for Model-free Markov Chain Optimization"
journal: "Preprint at arXiv"
year: 2024
doi: "10.48550/arXiv.2407.14786"
25 changes: 21 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

SM-SPSA (stochastic matrix simultaneous perturbation stochastic approximation) is an extension of the [SPSA algorithm](https://www.jhuapl.edu/SPSA/) to optimize a nonlinear objective function over the stationary distribution of a Markov chain. For more information, please visit the SM-SPSA website: https://nanned.github.io/SM-SPSA.

The code was built with Python 3.10.4.
The code is written in Python 3.10.4.

## Installation

Expand All @@ -17,10 +17,10 @@ For the user guide, including documentation and a quickstart, please see: https:

## Citing

If you would like to cite ``SM-SPSA``, please consider citing the following paper (note: more details will follow soon):
If you would like to cite ``SM-SPSA``, please consider citing the following paper:
> Nanne A. Dieleman, Joost Berkhout, Bernd Heidergott (2024).
> A Pseudo-Gradient Approach for Model-free Markov Chain Optimization.
> Available at:
> Preprint at arXiv: https://www.arxiv.org/abs/2407.14786. doi: 10.48550/arXiv.2407.14786.
Or, using the following BibTeX entry:

Expand All @@ -29,6 +29,8 @@ Or, using the following BibTeX entry:
title = {A Pseudo-Gradient Approach for Model-free Markov Chain Optimization},
author = {Dieleman, Nanne A. and Berkhout, Joost and Heidergott, Bernd},
year = {2024},
url = {https://www.arxiv.org/abs/2407.14786},
doi = {10.48550/arXiv.2407.14786},
}
```

Expand All @@ -38,4 +40,19 @@ The GNU General Public License v3 (GPL-3) license is used. For more information,

## Contributing

If you would like to contribute to the package in any way, please feel free to create an issue and discuss what you would like to add or change.
If you would like to contribute to ``SM-SPSA`` in any way, please feel free to create an [issue](https://github.com/NanneD/SM-SPSA/issues) to discuss what you would like to add or change. Moreover, make sure that your code submission includes:
- tests
- type hints
- documentation
- docstrings for the added/changed methods, classes, etc. according to the NumPy docstrings format

To check whether the type hints and tests run smoothly, you can follow these steps:
1. Open the command line and move to the ``SMSPSA`` folder.
2. Run the tests by using the following command:
```
pytest smspsa/tests.py
```
3. Run the mypy checker by using:
```
mypy smspsa/
```
4 changes: 2 additions & 2 deletions doc/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,10 @@ SM-SPSA
| **Release** |release|
| **Date** |today|
SM-SPSA (stochastic matrix simultaneous perturbation stochastic approximation) is an extension of the `SPSA algorithm <https://www.jhuapl.edu/SPSA/>`_ to optimize a nonlinear objective function over the stationary distribution of a Markov chain. For more details on the SM-SPSA algorithm, please see the paper by Dieleman, Berkhout and Heidergott.
SM-SPSA (stochastic matrix simultaneous perturbation stochastic approximation) is an extension of the `SPSA algorithm <https://www.jhuapl.edu/SPSA/>`_ to optimize a nonlinear objective function over the stationary distribution of a Markov chain. For more details on the SM-SPSA algorithm, please see the paper by `Dieleman, Berkhout and Heidergott <https://www.arxiv.org/abs/2407.14786>`_.

| **Citing**
| If you would like to cite this work, please see the README.md file on the `GitHub repository <https://github.com/NanneD/SM-SPSA>`_ for a suggested citation.
| If you would like to cite this work, please see the README.md/CITATION.cff file on the `GitHub repository <https://github.com/NanneD/SM-SPSA>`_ for a suggested citation.
| **License**
| The GNU General Public License v3 (GPL-3) license is used. For more information, please see the `GitHub repository <https://github.com/NanneD/SM-SPSA>`_.
Expand Down

0 comments on commit 34fd2e7

Please sign in to comment.