Skip to content

Commit

Permalink
Merge branch 'mean-field-dev' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
gefux committed May 25, 2022
2 parents b809bbe + 359f139 commit eaf5800
Show file tree
Hide file tree
Showing 32 changed files with 2,854 additions and 672 deletions.
4 changes: 3 additions & 1 deletion AUTHORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,9 @@ This open source project has been started by [Gerald E. Fux](https://github.com/
Major code contributions
------------------------

**Version 0.3.0**
- [Piper Fowler-Wright](https://github.com/piperfw): Open quantum systems with mean-field evolution [FowlerWright2021]

**Version 0.2.0**
- [Gerald E. Fux](https://github.com/gefux): Chains of open quantum systems [Fux2022].
- Dainius Kilda: Precursor code for chains of open quantum systems [Fux2022].
Expand Down Expand Up @@ -48,4 +51,3 @@ Acknowledgements
**Project maintainers:**
- [Gerald E. Fux](https://github.com/gefux) (<[email protected]>)
- [Peter Kirton](https://github.com/peterkirton) (<[email protected]>)

31 changes: 21 additions & 10 deletions BIBLIOGRAPHY.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ The code in this project is based on ideas from the following publications:
- **[Fux2020]** Fux et al., *Efficient exploration of Hamiltonian parameter space for optimal control of non-Markovian open quantum systems*, [Phys. Rev. Lett. 126, 200401](https://link.aps.org/doi/10.1103/PhysRevLett.126.200401) (2021).
- **[Gribben2021a]** Gribben et al., *Using the Environment to Understand non-Markovian Open Quantum Systems*, [arXiv:2106.04212](http://arxiv.org/abs/2106.04212) (2021).
- **[Gribben2021b]** Gribben et al., *Exact dynamics of non-additive environments in non-Markovian open quantum systems*, [arXiv:2109.08442](http://arxiv.org/abs/2109.08442) (2021).
- **[FowlerWright2021]** Fowler-Wright et al., *Efficient many-body non-Markovian dynamics of organic polaritons*, [arXiv:2112.09003](http://arxiv.org/abs/2112.09003) (2021)
- **[Fux2022]** Fux et al., *Thermalization of a spin chain strongly coupled to its environment*, [arXiv:2201.05529](http://arxiv.org/abs/2201.05529) (2022).


Expand All @@ -20,6 +21,16 @@ BibTeX:


```
@article{FowlerWright2021,
title = {Efficient many-body non-Markovian dynamics of organic polaritons},
author = {Fowler-Wright, Piper and Lovett, Brendon W. and Keeling, Jonathan},
archivePrefix = {arXiv},
arxivId = {2112.09003},
eprint = {2112.09003},
url = {http://arxiv.org/abs/2112.09003},
year = {2021}
}
@article{Fux2021,
title = {Efficient Exploration of Hamiltonian Parameter Space for Optimal Control of Non-Markovian Open Quantum Systems},
author = {Fux, Gerald E. and Butler, Eoin P. and Eastham, Paul R. and Lovett, Brendon W. and Keeling, Jonathan},
Expand Down Expand Up @@ -81,6 +92,16 @@ BibTeX:
url = {https://link.aps.org/doi/10.1103/PhysRevLett.123.240602}
}
@misc{OQuPy,
author={{The TEMPO collaboration}},
title={{OQuPy: A Python 3 package to efficiently compute
non-Markovian open quantum systems.}},
year=2020,
publisher={GitHub},
doi={10.5281/zenodo.4428316}
url={https://github.com/tempoCollaboration/TimeEvolvingMPO}
}
@article{Pollock2018,
author = {Pollock, Felix A. and Rodr{\'{i}}guez-Rosario, C{\'{e}}sar and
Frauenheim, Thomas and Paternostro, Mauro and Modi, Kavan},
Expand Down Expand Up @@ -142,14 +163,4 @@ BibTeX:
year = {2020}
}
@misc{OQuPy,
author={{The TEMPO collaboration}},
title={{OQuPy: A Python 3 package to efficiently compute
non-Markovian open quantum systems.}},
year=2020,
publisher={GitHub},
doi={10.5281/zenodo.4428316}
url={https://github.com/tempoCollaboration/TimeEvolvingMPO}
}
```
2 changes: 2 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -203,6 +203,8 @@ and you can pick a specific test to run with:
```bash
$ tox -e py36 say_hi_test.py
```
Here `say_hi_test.py` is the path of the test file *relative to the tests
directory.*

#### 7.3 test pylint only
This checks the code [code style](https://www.python.org/dev/peps/pep-0008/)
Expand Down
2 changes: 1 addition & 1 deletion HOW_TO_CITE.md
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ Please consider citing
- Bath dynamics: **[Gribben2020a]**
- Multiple environments: **[Gribben2020b]**
- Chains (PT-TEBD): **[Fux2022]**

- Mean-Field TEMPO: **[FowlerWright2021]**

BibTeX
------
Expand Down
3 changes: 2 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ systems [3-5]. This includes methods to compute ...
- the dynamics of a strongly coupled bosonic environment [6].
- the dynamics of a quantum system coupled to multiple non-Markovian environments [7].
- the dynamics of a chain of non-Markovian open quantum systems [8].

- the dynamics of an open many-body system with one-to-all light-matter coupling [9].

Up to versions 0.1.x this package was called *TimeEvolvingMPO*.

Expand All @@ -37,6 +37,7 @@ Up to versions 0.1.x this package was called *TimeEvolvingMPO*.
- **[6]** Gribben et al., [arXiv:2106.04212](http://arxiv.org/abs/2106.04212) (2021).
- **[7]** Gribben et al., [arXiv:2109.08442](http://arxiv.org/abs/2109.08442) (2021).
- **[8]** Fux et al., [arXiv:2201.05529](http://arxiv.org/abs/2201.05529) (2022).
- **[9]** Fowler-Wright at al., [arXiv:2112.09003](http://arxiv.org/abs/2112.09003) (2021).

-------------------------------------------------------------------------------

Expand Down
6 changes: 5 additions & 1 deletion docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,8 @@ systems [3-5]. This includes methods to compute ...
- the dynamics of a strongly coupled bosonic environment [6].
- the dynamics of a quantum system coupled to multiple non-Markovian environments [7].
- the dynamics of a chain of non-Markovian open quantum systems [8].
- the dynamics of an open many-body system with one-to-all light-matter
coupling [9].

Up to versions 0.1.x this package was called *TimeEvolvingMPO*.

Expand Down Expand Up @@ -50,6 +52,8 @@ Up to versions 0.1.x this package was called *TimeEvolvingMPO*.
`arXiv:2109.08442 <http://arxiv.org/abs/2109.08442>`_ (2021).
- **[8]** Fux et al.,
`arXiv:2201.05529 <http://arxiv.org/abs/2201.05529>`_ (2022).
- **[9]** Fowler-Wright at al.,
`arXiv:2112.09003 <http://arxiv.org/abs/2112.09003>`_ (2021).

.. |binder-tutorial| image:: https://mybinder.org/badge_logo.svg
:target: https://mybinder.org/v2/gh/tempoCollaboration/OQuPy/main?filepath=tutorials%2Fquickstart.ipynb
Expand Down Expand Up @@ -102,4 +106,4 @@ Indices and tables
==================

* :ref:`genindex`
* :ref:`search`
* :ref:`search`
43 changes: 35 additions & 8 deletions docs/pages/api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,11 @@ class :class:`oqupy.system.BaseSystem`
Encodes a time dependent system Hamiltonian and possibly some additional
time dependent Markovian decay.

class :class:`oqupy.system.TimeDependentSystemWithField`
Encodes a time dependent system Hamiltonian (and possibly some additional
time dependent Markovian decay) that couples to a classical field which
in turn evolves according to a prescribed Heisenberg equation of motion.

class :class:`oqupy.system.SystemChain`
Encodes a 1D chain of systems and possibly some additional Markovian decay.

Expand Down Expand Up @@ -78,12 +83,23 @@ TEMPO
class :class:`oqupy.tempo.TempoParameters`
Stores a set of parameters for a TEMPO computation.

class :class:`oqupy.tempo.Tempo`
Class to facilitate a TEMPO computation.
class :class:`oqupy.system.BaseTempo`
Abstract class for all TEMPO computations.

class :class:`oqupy.tempo.Tempo`
Class to facilitate a TEMPO computation.

method :meth:`oqupy.tempo.Tempo.compute`
Method that carries out a TEMPO computation and creates a
:class:`oqupy.dynamics.Dynamics` object.

method :meth:`oqupy.tempo.Tempo.compute`
Method that carries out a TEMPO computation and creates an
:class:`oqupy.dynamics.Dynamics` object.
class :class:`oqupy.tempo.TempoWithField`
Class to facilitate a TEMPO computation with concurrent evolution of
a classical field.

method :meth:`oqupy.tempo.TempoWithField.compute`
Method that carries out a TEMPO computation while evolving a classical
field, and creates a :class:`oqupy.dynamics.DynamicsWithField` object.

function :func:`oqupy.tempo.guess_tempo_parameters`
Function that chooses an appropriate set of parameters for a particular
Expand All @@ -107,7 +123,14 @@ Process Tensor Applications

function :func:`oqupy.contractions.compute_dynamics`
Compute a :class:`oqupy.dynamics.Dynamics` object for given
:class:`oqupy.system.BaseSystem` and
:class:`oqupy.system.System` or
:class:`oqupy.system.TimeDependentSystem` and
:class:`oqupy.control.Control` and
:class:`oqupy.process_tensor.BaseProcessTensor` objects.

function :func:`oqupy.contractions.compute_dynamics_with_field`
Compute a :class:`oqupy.dynamics.DynamicsWithField` object for given
:class:`oqupy.system.TimeDependentSystemWithField` and
:class:`oqupy.control.Control` and
:class:`oqupy.process_tensor.BaseProcessTensor` objects.

Expand Down Expand Up @@ -151,14 +174,18 @@ class :class:`oqupy.dynamics.Dynamics`
Object that encodes the discretized evolution of the reduced density matrix
of a system.

class :class:`oqupy.dynamics.DynamicsWithField`
Object that encodes the discretized evolution of the reduced density matrix
of a system together with that of a classical field.

class :class:`oqupy.process_tensor.BaseProcessTensor`
Object that encodes a so called process tensor (which captures all possible
Markovian and non-Markovian interactions between some system and an
environment).


Utillities
----------
Utilities
---------

module :mod:`oqupy.operators`
Supplies several commonly used operators, such as the Pauli matrices and spin
Expand Down
3 changes: 3 additions & 0 deletions docs/pages/authors.rst
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,9 @@ This open source project has been started by
Major code contributions
------------------------

**Version 0.3.0**
- `Piper Fowler-Wright <https://github.com/piperfw>`_: Open quantum systems with mean-field evolution [FowlerWright2021]

**Version 0.2.0**
- `Gerald E. Fux <https://github.com/gefux>`_: Chains of open quantum systems [Fux2022].
- Dainius Kilda: Precursor code for chains of open quantum systems [Fux2022].
Expand Down
92 changes: 68 additions & 24 deletions docs/pages/bibliography.rst
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,10 @@ The code in this project is based on ideas from the following publications:
*Exact dynamics of non-additive environments in non-Markovian open quantum
systems*,
`arXiv:2109.08442 <http://arxiv.org/abs/2109.08442>`_ (2021).
- **[FowlerWright2021]**
Fowler-Wright et al.,
*Efficient many-body non-Markovian dynamics of organic polaritons*,
`arXiv:2112.09003 <http://arxiv.org/abs/2112.09003>`_ (2021)
- **[Fux2022]** Fux et al.,
*Thermalization of a spin chain strongly coupled to its environment*,
`arXiv:2201.05529 <http://arxiv.org/abs/2201.05529>`_ (2022).
Expand All @@ -50,6 +54,16 @@ BibTeX

.. code-block:: bibtex
@article{FowlerWright2021,
title = {Efficient many-body non-Markovian dynamics of organic polaritons},
author = {Fowler-Wright, Piper and Lovett, Brendon W. and Keeling, Jonathan},
archivePrefix = {arXiv},
arxivId = {2112.09003},
eprint = {2112.09003},
url = {http://arxiv.org/abs/2112.09003},
year = {2021}
}
@article{Fux2021,
title = {Efficient Exploration of Hamiltonian Parameter Space for Optimal Control of Non-Markovian Open Quantum Systems},
author = {Fux, Gerald E. and Butler, Eoin P. and Eastham, Paul R. and Lovett, Brendon W. and Keeling, Jonathan},
Expand All @@ -65,9 +79,39 @@ BibTeX
url = {https://link.aps.org/doi/10.1103/PhysRevLett.126.200401}
}
@article{Fux2022,
title = {{Thermalization of a spin chain strongly coupled to its environment}},
author = {Fux, Gerald E. and Kilda, Dainius and Lovett, Brendon W. and Keeling, Jonathan},
archivePrefix = {arXiv},
arxivId = {2201.05529},
eprint = {2201.05529},
url = {http://arxiv.org/abs/2201.05529},
year = {2022}
}
@article{Gribben2021a,
title = {{Exact dynamics of non-additive environments in non-Markovian open quantum systems}},
author = {Gribben, Dominic and Rouse, Dominic M. and Iles-Smith, Jake and Strathearn, Aidan and Maguire, Henry and Kirton, Peter and Nazir, Ahsan and Gauger, Erik M. and Lovett, Brendon W.},
archivePrefix = {arXiv},
arxivId = {2109.08442},
eprint = {2109.08442},
url = {http://arxiv.org/abs/2109.08442},
year = {2021}
}
@article{Gribben2021b,
title = {{Using the Environment to Understand non-Markovian Open Quantum Systems}},
author = {Gribben, Dominic and Strathearn, Aidan and Fux, Gerald E. and Kirton, Peter and Lovett, Brendon W.},
archivePrefix = {arXiv},
arxivId = {2106.04212},
eprint = {2106.04212},
url = {http://arxiv.org/abs/2106.04212},
year = {2021}
}
@article{Jorgensen2019,
title = {Exploiting the Causal Tensor Network Structure of Quantum
Processes to Efficiently Simulate Non-Markovian Path Integrals},
Processes to Efficiently Simulate Non-Markovian Path Integrals},
author = {J\o{}rgensen, Mathias R. and Pollock, Felix A.},
journal = {Phys. Rev. Lett.},
volume = {123},
Expand All @@ -81,6 +125,16 @@ BibTeX
url = {https://link.aps.org/doi/10.1103/PhysRevLett.123.240602}
}
@misc{OQuPy,
author={{The TEMPO collaboration}},
title={{OQuPy: A Python 3 package to efficiently compute
non-Markovian open quantum systems.}},
year=2020,
publisher={GitHub},
doi={10.5281/zenodo.4428316}
url={https://github.com/tempoCollaboration/TimeEvolvingMPO}
}
@article{Pollock2018,
author = {Pollock, Felix A. and Rodr{\'{i}}guez-Rosario, C{\'{e}}sar and
Frauenheim, Thomas and Paternostro, Mauro and Modi, Kavan},
Expand All @@ -93,24 +147,24 @@ BibTeX
title = {{Non-Markovian quantum processes: Complete framework and
efficient characterization}},
url = {https://link.aps.org/doi/10.1103/PhysRevA.97.012127
http://arxiv.org/abs/1512.00589
http://dx.doi.org/10.1103/PhysRevA.97.012127},
http://arxiv.org/abs/1512.00589
http://dx.doi.org/10.1103/PhysRevA.97.012127},
volume = {97},
year = {2018}
}
@article{Strathearn_2017,
doi = {10.1088/1367-2630/aa8744},
url = {https://doi.org/10.1088/1367-2630/aa8744},
year = 2017,
month = {sep},
publisher = {{IOP} Publishing},
volume = {19},
number = {9},
pages = {093009},
author = {A Strathearn and B W Lovett and P Kirton},
title = {Efficient real-time path integrals for non-Markovian spin-boson models},
journal = {New Journal of Physics},
doi = {10.1088/1367-2630/aa8744},
url = {https://doi.org/10.1088/1367-2630/aa8744},
year = 2017,
month = {sep},
publisher = {{IOP} Publishing},
volume = {19},
number = {9},
pages = {093009},
author = {A Strathearn and B W Lovett and P Kirton},
title = {Efficient real-time path integrals for non-Markovian spin-boson models},
journal = {New Journal of Physics},
}
@article{Strathearn2018,
Expand Down Expand Up @@ -141,13 +195,3 @@ BibTeX
url = {http://link.springer.com/10.1007/978-3-030-54975-6},
year = {2020}
}
@misc{OQuPy,
author={{The TEMPO collaboration}},
title={{OQuPy: A Python 3 package to efficiently compute
non-Markovian open quantum systems.}},
year=2020,
publisher={GitHub},
doi={10.5281/zenodo.4428316}
url={https://github.com/tempoCollaboration/OQuPy}
}
1 change: 1 addition & 0 deletions docs/pages/how_to_cite.rst
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ Please consider citing
- Bath dynamics: **[Gribben2020a]**
- Multiple environments: **[Gribben2020b]**
- Chains (PT-TEBD): **[Fux2022]**
- Mean-Field TEMPO: **[FowlerWright2021]**

BibTeX
------
Expand Down
Loading

0 comments on commit eaf5800

Please sign in to comment.