lkdvos / QWignerSymbols.jl

A Julia package for computing q-deformed Wigner Symbols and related quantities.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

QWignerSymbols

Julia package for the implementation of q-deformed Wigner Symbols. Additionally, this provides an extension to TensorKit.jl for working with tensors that have q-deformed SU(2) symmetry.

Build Status Coverage PkgEval

Currently, the package provides the following exported functions that define q-analogs:

  • q_number(n::Integer, q::Number): $[n]_q = \frac{1 - q^n}{1 - q}$
  • q_factorial(n::Integer, q::Number): $[n]_q! = \prod [k]_q$
  • q_binomial(n::Integer, k::Integer, q::Number): $\binom{n}{k}_q = \frac{[n]_q!}{[k]_q! [n-k]_q!}$

The following functions are exported for the calculation of q-deformed Wigner Symbols, which serve a similar function as their WignerSymbols.jl q-less counterparts:

  • q_wigner3j(j1, j2, j3, m1, m2, m3, q)
  • q_clebschgorda(j1, j2, j3, m1, m2, m3, q)
  • q_wigner6j(j1, j2, j3, j4, j5, j6, q)
  • q_racahW(j1, j2, J, j3, J12, J23, q)

Finally, these can be utilized to construct q-deformed symmetric tensors, by using SU2qIrrep{q} as a drop-in replacement for TensorKit.jl's SU2Irrep:

using TensorKit, QWignerSymbols

q = 1.1
j = 1//2
irrep = SU2qIrrep{q}(j)

# Construct a rank-4 tensor with q-deformed SU(2) symmetry
t = TensorMap(randn, Float64, Vect[SU2qIrrep{q}](1//2 => 1)^2  Vect[SU2qIrrep{q}](1//2 => 1)^2)

About

A Julia package for computing q-deformed Wigner Symbols and related quantities.

License:MIT License


Languages

Language:Julia 100.0%