Skip to content

qojulia/SecondQuantizedAlgebra.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

125 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SecondQuantizedAlgebra

codecov Benchmarks

Aqua QA jet

A Julia package for symbolic manipulation and algebraic computation with second-quantized operators. SecondQuantizedAlgebra.jl provides a flexible framework for working with quantum operators, their commutation relations, and algebraic expressions common in quantum many-body theory and quantum optics.

The package provides:

  • Bosonic, N-level, Pauli, spin, and phase-space operators in composite Hilbert spaces
  • Automatic commutation relations and canonical-form arithmetic
  • Normal ordering, simplification, and completeness expansion
  • Symbolic summations with automatic diagonal splitting
  • Averaging and numeric conversion via QuantumOpticsBase
  • Extensible for custom operator types

The code was refactored out of QuantumCumulants.jl.

Installation

Install with Julia's package manager:

pkg> add SecondQuantizedAlgebra

Usage

using SecondQuantizedAlgebra

hc = FockSpace(:cavity)
ha = NLevelSpace(:atoms, 2)
h = hc  ha

@qnumbers b::Destroy(h, 1)
σ(i, j) = Transition(h, , i, j, 2)

@variables g Δ

H = Δ * b' * b + g * (b * σ(2, 1) + b' * σ(1, 2))

@show b * b'
@show σ(2, 1) * σ(1, 1)

simplify(commutator(H, b))

See the documentation for more details and advanced usage.

Contributing

Contributions and suggestions are welcome! Please open issues or pull requests on GitHub.

License

This project is licensed under the MIT License.

About

Symbolic computations with second quantized operators

Topics

Resources

License

Stars

10 stars

Watchers

4 watching

Forks

Packages

 
 
 

Contributors