https://github.com/ashtonsbradley/phasespacetools.jl
Sampling quantum phase space distributions
Science Score: 36.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
○.zenodo.json file
-
✓DOI references
Found 4 DOI reference(s) in README -
✓Academic publication links
Links to: zenodo.org -
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (10.8%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
Sampling quantum phase space distributions
Basic Info
Statistics
- Stars: 7
- Watchers: 2
- Forks: 1
- Open Issues: 0
- Releases: 5
Topics
Metadata Files
README.md
PhaseSpaceTools
Sample quantum initial states commonly encountered in quantum phase space simulations of Bose fields, including those encountered in quantum optics and Bose-Einstein condensates.
Wigner and positive-P distributions are available, being the most useful for dynamical simulations.
Available distributions are glauberP, positiveP wigner, positiveW, husimiQ.
Install
julia
julia> ]add PhaseSpaceTools
Usage
```julia julia> using PhaseSpaceTools
help?> positiveP search: positiveP positiveW
α,α⁺ = positiveP(state <: State,N)
Generate N samples from the positive-P (+P) phase-space distribution for state.
Moments of the +P distribution generate quantum operator averages that are normally ordered.
In general the two random variates α,α⁺ are statistically independent for the +P distribution. ```
Implemented states
```julia help?> State search: State state estimate InvalidStateException AbstractSet AbstractVector AbstractVecOrMat stacktrace StackTraces istaskstarted abstract type AbstractRange AbstractPattern
State
Abstract supertype for all sampled states: state <: State.
Examples ≡≡≡≡≡≡≡≡≡≡
Find all states that may be sampled =====================================
julia> subtypes(State)
6-element Vector{Any}: Bogoliubov Coherent Crescent Fock Squeezed Thermal
Create and sample a particular state (vacuum) ===============================================
julia> s = Fock(0) Fock(0) julia> wigner(s,100) ┌ Warning: Fock state sampling for W is only valid for n ≫ 1.
Here a warning is generated since Fock sampling is not well defined for small n.
A simpler way to sample the vacuum is
julia> s = Coherent(0) Coherent(0.0 + 0.0im) # type conversion to ComplexF64.
julia> wigner(s,100) (ComplexF64[0.33820868828162637 + 0.4407579103538181im, 0.057183146091823775 - 0.2772571883006981im, ...
generating two vectors of sampled points α,α⁺ in the complex plane. In this case, α = conj(α⁺), as we are not working with a doubled phase space. ```
Coherent state
A coherent state |α⟩ is sampled as
julia
α = 1.0+im*2.0 # coherent amplitude
s = Coherent(α) # define state |α⟩
N = 1000 # number of samples
a,a⁺ = positiveP(s,N)
This is a special case where the two phase space variables a and a⁺ are complex conjugate, and non-stochastic in the +P representation.
Fock state
An approximate Fock state sampler in the Wigner representation:
julia
n = 100
s = Fock(n) # define number state |n⟩
N = 1000 # number of samples
a,a⁺ = wigner(s,N)
Provides an approximate sampling of W that reproduces operator averages for large n.
Examples
See /examples/PhaseSpaceTools.ipynb for more usage.
External links
Numerical representation of quantum states in the positive-P and Wigner representations, \ M K Olsen, A S Bradley, \ Optics Communications 282, 3924 (2009)
Owner
- Name: Ashton Bradley
- Login: AshtonSBradley
- Kind: user
- Location: Dunedin, New Zealand
- Company: University of Otago
- Website: https://amoqt.otago.ac.nz
- Repositories: 61
- Profile: https://github.com/AshtonSBradley
Associate Professor of Physics
GitHub Events
Total
- Watch event: 1
Last Year
- Watch event: 1
Committers
Last synced: almost 3 years ago
All Time
- Total Commits: 247
- Total Committers: 4
- Avg Commits per committer: 61.75
- Development Distribution Score (DDS): 0.142
Top Committers
| Name | Commits | |
|---|---|---|
| Ashton Bradley | a****y@g****m | 212 |
| AshtonSBradley | a****y@o****z | 18 |
| AshtonSBradley | a****y@h****l | 16 |
| github-actions[bot] | 4****]@u****m | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 7 months ago
All Time
- Total issues: 1
- Total pull requests: 13
- Average time to close issues: less than a minute
- Average time to close pull requests: about 2 months
- Total issue authors: 1
- Total pull request authors: 2
- Average comments per issue: 4.0
- Average comments per pull request: 0.15
- Merged pull requests: 4
- Bot issues: 0
- Bot pull requests: 10
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- JuliaTagBot (1)
Pull Request Authors
- github-actions[bot] (10)
- AshtonSBradley (4)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
- Total downloads: unknown
- Total dependent packages: 0
- Total dependent repositories: 0
- Total versions: 4
juliahub.com: PhaseSpaceTools
Sampling quantum phase space distributions
- Documentation: https://docs.juliahub.com/General/PhaseSpaceTools/stable/
- License: MIT
-
Latest release: 1.0.4
published almost 2 years ago
Rankings
Dependencies
- actions/cache v1 composite
- actions/checkout v2 composite
- codecov/codecov-action v1 composite
- julia-actions/julia-buildpkg v1 composite
- julia-actions/julia-processcoverage v1 composite
- julia-actions/julia-runtest v1 composite
- julia-actions/setup-julia v1 composite
- JuliaRegistries/TagBot v1 composite