Skip to content

phaerrax/GaussianStates.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

45 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GaussianStates.jl

Code Style: Blue Dev

A Julia package to manipulate Gaussian states.

The main block of this package is the GaussianState struct, which defines a Gaussian state through its covariance matrix and its vector of first moments. The package defines several Gaussian maps that can be applied to Gaussian states, as well as relevant matrix decompositions.

This package mostly follows the notation in [1], with first and second moments $R_j$ and $\sigma_{ij}$ defined as

$$R_i = \mathrm{tr}(\rho r_i)$$ $$\sigma_{ij} = \mathrm{tr}(\rho \{r_i-R_i,r_j-R_j\}) = \mathrm{tr}(\rho \{r_i,r_j\})-2R_iR_j,$$

where $r = (x_1, p_1, x_2, p_2, \dotsc, x_n, p_n)$.

Installation

From a registry

This package is registered in my TensorNetworkSimulations registry. By first adding this registry, with

using Pkg
pkg"registry add https://github.com/phaerrax/TensorNetworkSimulations.git"

(this must be done just once per Julia installation) the package can then be installed as a normal one:

using Pkg
pkg"add GaussianStates"

From GitHub

Alternatively, straight installation from GitHub is also possible:

using Pkg
pkg "add https://github.com/phaerrax/GaussianStates.jl"

References

[1] Alessio Serafini, ‘Quantum Continuous Variables: A Primer of Theoretical Methods’ (2nd ed.), 2017, CRC Press.

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Contributors

Languages