Immanants

Zero-weight example for λ = [2,1,0]. Theory: background page.

julia> using GroupFunctions
julia> imm21(A) = 2*A[1,1]*A[2,2]*A[3,3] - A[1,2]*A[2,3]*A[3,1] - A[1,3]*A[2,1]*A[3,2];
julia> λ = [2, 1, 0];
julia> basis = basis_states(λ);
julia> zero_idx = findall(gt -> zweight(gt) == [0.0, 0.0], basis);
julia> zero_idx2-element Vector{Int64}: 3 5
julia> ψ1 = basis[zero_idx[1]];
julia> ψ2 = basis[zero_idx[2]];
julia> ψ1│ 2 1 0 ╲ │ 1 1 〉 │ 1 ╱
julia> ψ2│ 2 1 0 ╲ │ 2 0 〉 │ 1 ╱
julia> M = ComplexF64[ 1 2 3 4 5 6 7 8 10 ];
julia> g11 = group_function(λ, ψ1, ψ1, M)-43.5 + 0.0im
julia> g22 = group_function(λ, ψ2, ψ2, M)-36.5 + 0.0im
julia> g11 + g22-80.0 + 0.0im
julia> imm21(M)-80.0 + 0.0im
julia> g11 + g22 ≈ imm21(M)true