{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "15a8b1c9", "metadata": {}, "outputs": [], "source": [ "using QuantumAlgebra\n", "using SymPy\n", "\n", "dispnormal(x) = display(\"text/latex\",\"\\$ $(latex(x)) \\\\quad\\\\to\\\\quad $(latex(normal_form(x))) \\$\")\n", "acomm(A,B) = A*B + B*A;" ] }, { "cell_type": "code", "execution_count": 2, "id": "d3e6611f", "metadata": {}, "outputs": [], "source": [ "ξp = param(:ξ_p,'n')\n", "ϕ = param(:ϕ,'r',:i);" ] }, { "cell_type": "code", "execution_count": 3, "id": "2b467fba", "metadata": { "scrolled": true }, "outputs": [ { "data": { "text/latex": [ "${{\\xi}_p^{*}}^{2} {{\\phi}_{2}}^{2} + 2{\\xi}_p^{*} {\\xi}_p {{\\phi}_{2}}^{2} + {{\\xi}_p}^{2} {{\\phi}_{2}}^{2} + {{\\phi}_{1}}^{2} + {{\\phi}_{2}}^{2} + 2{\\xi}_p^{*} {\\phi}_{1} {\\phi}_{2}{a}_{1}^\\dagger + 2{\\xi}_p {\\phi}_{1} {\\phi}_{2}{a}_{1}^\\dagger + 2{\\xi}_p^{*} {{\\phi}_{2}}^{2}{a}_{2}^\\dagger + 2{\\xi}_p {{\\phi}_{2}}^{2}{a}_{2}^\\dagger + 2{\\xi}_p^{*} {\\phi}_{1} {\\phi}_{2}{a}_{1} + 2{\\xi}_p {\\phi}_{1} {\\phi}_{2}{a}_{1} + 2{\\xi}_p^{*} {{\\phi}_{2}}^{2}{a}_{2} + 2{\\xi}_p {{\\phi}_{2}}^{2}{a}_{2} + {{\\phi}_{1}}^{2}{{a}_{1}^\\dagger}^{2} + 2{\\phi}_{1} {\\phi}_{2}{a}_{1}^\\dagger {a}_{2}^\\dagger + 2{{\\phi}_{1}}^{2}{a}_{1}^\\dagger {a}_{1} + 2{\\phi}_{1} {\\phi}_{2}{a}_{1}^\\dagger {a}_{2} + {{\\phi}_{2}}^{2}{{a}_{2}^\\dagger}^{2} + 2{\\phi}_{1} {\\phi}_{2}{a}_{2}^\\dagger {a}_{1} + 2{{\\phi}_{2}}^{2}{a}_{2}^\\dagger {a}_{2} + {{\\phi}_{1}}^{2}{{a}_{1}}^{2} + 2{\\phi}_{1} {\\phi}_{2}{a}_{1} {a}_{2} + {{\\phi}_{2}}^{2}{{a}_{2}}^{2}$" ], "text/plain": [ "ξ_p*² ϕ(2)² + 2 ξ_p* ξ_p ϕ(2)² + ξ_p² ϕ(2)² + ϕ(1)² + ϕ(2)² + 2 ξ_p* ϕ(1) ϕ(2) a†(1) + 2 ξ_p ϕ(1) ϕ(2) a†(1) + 2 ξ_p* ϕ(2)² a†(2) + 2 ξ_p ϕ(2)² a†(2) + 2 ξ_p* ϕ(1) ϕ(2) a(1) + 2 ξ_p ϕ(1) ϕ(2) a(1) + 2 ξ_p* ϕ(2)² a(2) + 2 ξ_p ϕ(2)² a(2) + ϕ(1)² a†(1)² + 2 ϕ(1) ϕ(2) a†(1) a†(2) + 2 ϕ(1)² a†(1) a(1) + 2 ϕ(1) ϕ(2) a†(1) a(2) + ϕ(2)² a†(2)² + 2 ϕ(1) ϕ(2) a†(2) a(1) + 2 ϕ(2)² a†(2) a(2) + ϕ(1)² a(1)² + 2 ϕ(1) ϕ(2) a(1) a(2) + ϕ(2)² a(2)²" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "phi2 = normal_form((param(:ϕ,:1)* (a(1) + a(1)') + param(:ϕ,:2)* (a(2) + a(2)' + ξp + ξp'))^2)" ] }, { "cell_type": "code", "execution_count": 4, "id": "b1fb740b", "metadata": {}, "outputs": [], "source": [ "P = Vector{QuantumAlgebra.Param}[]\n", "B = Vector{QuantumAlgebra.BaseOperator}[]\n", "T = Vector{Int64}();\n", "\n", "###\n", "for (s,t) in phi2.terms\n", " if !isempty(s.bares)\n", " check0 = adjoint(s.bares).v\n", " check1 = reshape([v::QuantumAlgebra.BaseOperator for v in adjoint(s.bares.v)],length(s.bares.v),)\n", " if check0 ∉ B && check1 ∉ B\n", " push!(B,s.bares.v)\n", " push!(P,s.params)\n", " push!(T,t)\n", " end\n", " end\n", "end\n", "\n", "###\n", "BB = [QuantumAlgebra.BaseOpProduct(b) for b in unique(B)]\n", "\n", "Punique = [P[findall(x->x==b.v, B)] for b in BB]\n", "PP = [[QuantumAlgebra.QuTerm(0, QuantumAlgebra.δ[], pint, QuantumAlgebra.ExpVal[], QuantumAlgebra.Corr[], QuantumAlgebra.BaseOpProduct()) for pint in pext] for pext in Punique]\n", "\n", "TT = [T[findall(x->x==b.v, B)] for b in BB];" ] }, { "cell_type": "code", "execution_count": 7, "id": "14a0b581", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "8-element Vector{QuantumAlgebra.BaseOpProduct}:\n", " a†(1)²\n", " a(2)²\n", " a(2)\n", " a†(2) a(1)\n", " a(1) a(2)\n", " a(1)\n", " a†(1) a(1)\n", " a†(2) a(2)" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "BB" ] }, { "cell_type": "code", "execution_count": 8, "id": "cb239da9", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "8-element Vector{Vector{QuantumAlgebra.QuTerm}}:\n", " [ϕ(1)² ]\n", " [ϕ(2)² ]\n", " [ξ_p ϕ(2)² , ξ_p* ϕ(2)² ]\n", " [ϕ(1) ϕ(2) ]\n", " [ϕ(1) ϕ(2) ]\n", " [ξ_p ϕ(1) ϕ(2) , ξ_p* ϕ(1) ϕ(2) ]\n", " [ϕ(1)² ]\n", " [ϕ(2)² ]" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "PP" ] }, { "cell_type": "code", "execution_count": 9, "id": "8053ca79", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "8-element Vector{Vector{Int64}}:\n", " [1]\n", " [1]\n", " [2, 2]\n", " [2]\n", " [2]\n", " [2, 2]\n", " [2]\n", " [2]" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "TT" ] }, { "cell_type": "code", "execution_count": null, "id": "a1c1650b", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 36, "id": "2d1057d0", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "8-element Vector{QuExpr}:\n", " ϕ(1)² \n", " ϕ(2)² \n", " 2 ξ_p* ϕ(2)² + 2 ξ_p ϕ(2)² \n", " 2 ϕ(1) ϕ(2) \n", " 2 ϕ(1) ϕ(2) \n", " 2 ξ_p* ϕ(1) ϕ(2) + 2 ξ_p ϕ(1) ϕ(2) \n", " 2 ϕ(1)² \n", " 2 ϕ(2)² " ] }, "execution_count": 36, "metadata": {}, "output_type": "execute_result" } ], "source": [ "AA = Vector{QuantumAlgebra.QuExpr}()\n", "for (pext,text) in zip(PP,TT)\n", " A = QuExpr()\n", " for (pint,tint) in zip(pext,text)\n", " QuantumAlgebra._add_with_auto_order!(A,pint,tint)\n", " end\n", " push!(AA,A)\n", "end\n", "\n", "AA" ] }, { "cell_type": "code", "execution_count": 37, "id": "6b06e547", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "8-element Vector{QuantumAlgebra.BaseOpProduct}:\n", " a†(1)²\n", " a(2)²\n", " a(2)\n", " a†(2) a(1)\n", " a(1) a(2)\n", " a(1)\n", " a†(1) a(1)\n", " a†(2) a(2)" ] }, "execution_count": 37, "metadata": {}, "output_type": "execute_result" } ], "source": [ "BB" ] }, { "cell_type": "code", "execution_count": null, "id": "548188cb", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "3a09f9a4", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "4ebe9442", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "2b03d42f", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "id": "8349c245", "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": 38, "id": "521aa480", "metadata": {}, "outputs": [ { "data": { "text/latex": [ "${{\\xi}_p^{*}}^{4} {{\\phi}_{2}}^{4} + 4{{\\xi}_p^{*}}^{3} {\\xi}_p {{\\phi}_{2}}^{4} + 6{{\\xi}_p^{*}}^{2} {{\\xi}_p}^{2} {{\\phi}_{2}}^{4} + 6{{\\xi}_p^{*}}^{2} {{\\phi}_{1}}^{2} {{\\phi}_{2}}^{2} + 6{{\\xi}_p^{*}}^{2} {{\\phi}_{2}}^{4} + 4{\\xi}_p^{*} {{\\xi}_p}^{3} {{\\phi}_{2}}^{4} + 12{\\xi}_p^{*} {\\xi}_p {{\\phi}_{1}}^{2} {{\\phi}_{2}}^{2} + 12{\\xi}_p^{*} {\\xi}_p {{\\phi}_{2}}^{4} + {{\\xi}_p}^{4} {{\\phi}_{2}}^{4} + 6{{\\xi}_p}^{2} {{\\phi}_{1}}^{2} {{\\phi}_{2}}^{2} + 6{{\\xi}_p}^{2} {{\\phi}_{2}}^{4} + 3{{\\phi}_{1}}^{4} + 6{{\\phi}_{1}}^{2} {{\\phi}_{2}}^{2} + 3{{\\phi}_{2}}^{4} + 4{{\\xi}_p^{*}}^{3} {\\phi}_{1} {{\\phi}_{2}}^{3}{a}_{1}^\\dagger + 12{{\\xi}_p^{*}}^{2} {\\xi}_p {\\phi}_{1} {{\\phi}_{2}}^{3}{a}_{1}^\\dagger + 12{\\xi}_p^{*} {{\\xi}_p}^{2} {\\phi}_{1} {{\\phi}_{2}}^{3}{a}_{1}^\\dagger + 12{\\xi}_p^{*} {{\\phi}_{1}}^{3} {\\phi}_{2}{a}_{1}^\\dagger + 12{\\xi}_p^{*} {\\phi}_{1} {{\\phi}_{2}}^{3}{a}_{1}^\\dagger + 4{{\\xi}_p}^{3} {\\phi}_{1} {{\\phi}_{2}}^{3}{a}_{1}^\\dagger + 12{\\xi}_p {{\\phi}_{1}}^{3} {\\phi}_{2}{a}_{1}^\\dagger + 12{\\xi}_p {\\phi}_{1} {{\\phi}_{2}}^{3}{a}_{1}^\\dagger + 4{{\\xi}_p^{*}}^{3} {{\\phi}_{2}}^{4}{a}_{2}^\\dagger + 12{{\\xi}_p^{*}}^{2} {\\xi}_p {{\\phi}_{2}}^{4}{a}_{2}^\\dagger + 12{\\xi}_p^{*} {{\\xi}_p}^{2} {{\\phi}_{2}}^{4}{a}_{2}^\\dagger + 12{\\xi}_p^{*} {{\\phi}_{1}}^{2} {{\\phi}_{2}}^{2}{a}_{2}^\\dagger + 12{\\xi}_p^{*} {{\\phi}_{2}}^{4}{a}_{2}^\\dagger + 4{{\\xi}_p}^{3} {{\\phi}_{2}}^{4}{a}_{2}^\\dagger + 12{\\xi}_p {{\\phi}_{1}}^{2} {{\\phi}_{2}}^{2}{a}_{2}^\\dagger + 12{\\xi}_p {{\\phi}_{2}}^{4}{a}_{2}^\\dagger + 4{{\\xi}_p^{*}}^{3} {\\phi}_{1} {{\\phi}_{2}}^{3}{a}_{1} + 12{{\\xi}_p^{*}}^{2} {\\xi}_p {\\phi}_{1} {{\\phi}_{2}}^{3}{a}_{1} + 12{\\xi}_p^{*} {{\\xi}_p}^{2} {\\phi}_{1} {{\\phi}_{2}}^{3}{a}_{1} + 12{\\xi}_p^{*} {{\\phi}_{1}}^{3} {\\phi}_{2}{a}_{1} + 12{\\xi}_p^{*} {\\phi}_{1} {{\\phi}_{2}}^{3}{a}_{1} + 4{{\\xi}_p}^{3} {\\phi}_{1} {{\\phi}_{2}}^{3}{a}_{1} + 12{\\xi}_p {{\\phi}_{1}}^{3} {\\phi}_{2}{a}_{1} + 12{\\xi}_p {\\phi}_{1} {{\\phi}_{2}}^{3}{a}_{1} + 4{{\\xi}_p^{*}}^{3} {{\\phi}_{2}}^{4}{a}_{2} + 12{{\\xi}_p^{*}}^{2} {\\xi}_p {{\\phi}_{2}}^{4}{a}_{2} + 12{\\xi}_p^{*} {{\\xi}_p}^{2} {{\\phi}_{2}}^{4}{a}_{2} + 12{\\xi}_p^{*} {{\\phi}_{1}}^{2} {{\\phi}_{2}}^{2}{a}_{2} + 12{\\xi}_p^{*} {{\\phi}_{2}}^{4}{a}_{2} + 4{{\\xi}_p}^{3} {{\\phi}_{2}}^{4}{a}_{2} + 12{\\xi}_p {{\\phi}_{1}}^{2} {{\\phi}_{2}}^{2}{a}_{2} + 12{\\xi}_p {{\\phi}_{2}}^{4}{a}_{2} + 6{{\\xi}_p^{*}}^{2} {{\\phi}_{1}}^{2} {{\\phi}_{2}}^{2}{{a}_{1}^\\dagger}^{2} + 12{\\xi}_p^{*} {\\xi}_p {{\\phi}_{1}}^{2} {{\\phi}_{2}}^{2}{{a}_{1}^\\dagger}^{2} + 6{{\\xi}_p}^{2} {{\\phi}_{1}}^{2} {{\\phi}_{2}}^{2}{{a}_{1}^\\dagger}^{2} + 6{{\\phi}_{1}}^{4}{{a}_{1}^\\dagger}^{2} + 6{{\\phi}_{1}}^{2} {{\\phi}_{2}}^{2}{{a}_{1}^\\dagger}^{2} + 12{{\\xi}_p^{*}}^{2} {\\phi}_{1} {{\\phi}_{2}}^{3}{a}_{1}^\\dagger {a}_{2}^\\dagger + 24{\\xi}_p^{*} {\\xi}_p {\\phi}_{1} {{\\phi}_{2}}^{3}{a}_{1}^\\dagger {a}_{2}^\\dagger + 12{{\\xi}_p}^{2} {\\phi}_{1} {{\\phi}_{2}}^{3}{a}_{1}^\\dagger {a}_{2}^\\dagger + 12{{\\phi}_{1}}^{3} {\\phi}_{2}{a}_{1}^\\dagger {a}_{2}^\\dagger + 12{\\phi}_{1} {{\\phi}_{2}}^{3}{a}_{1}^\\dagger {a}_{2}^\\dagger + 12{{\\xi}_p^{*}}^{2} {{\\phi}_{1}}^{2} {{\\phi}_{2}}^{2}{a}_{1}^\\dagger {a}_{1} + 24{\\xi}_p^{*} {\\xi}_p {{\\phi}_{1}}^{2} {{\\phi}_{2}}^{2}{a}_{1}^\\dagger {a}_{1} + 12{{\\xi}_p}^{2} {{\\phi}_{1}}^{2} {{\\phi}_{2}}^{2}{a}_{1}^\\dagger {a}_{1} + 12{{\\phi}_{1}}^{4}{a}_{1}^\\dagger {a}_{1} + 12{{\\phi}_{1}}^{2} {{\\phi}_{2}}^{2}{a}_{1}^\\dagger {a}_{1} + 12{{\\xi}_p^{*}}^{2} {\\phi}_{1} {{\\phi}_{2}}^{3}{a}_{1}^\\dagger {a}_{2} + 24{\\xi}_p^{*} {\\xi}_p {\\phi}_{1} {{\\phi}_{2}}^{3}{a}_{1}^\\dagger {a}_{2} + 12{{\\xi}_p}^{2} {\\phi}_{1} {{\\phi}_{2}}^{3}{a}_{1}^\\dagger {a}_{2} + 12{{\\phi}_{1}}^{3} {\\phi}_{2}{a}_{1}^\\dagger {a}_{2} + 12{\\phi}_{1} {{\\phi}_{2}}^{3}{a}_{1}^\\dagger {a}_{2} + 6{{\\xi}_p^{*}}^{2} {{\\phi}_{2}}^{4}{{a}_{2}^\\dagger}^{2} + 12{\\xi}_p^{*} {\\xi}_p {{\\phi}_{2}}^{4}{{a}_{2}^\\dagger}^{2} + 6{{\\xi}_p}^{2} {{\\phi}_{2}}^{4}{{a}_{2}^\\dagger}^{2} + 6{{\\phi}_{1}}^{2} {{\\phi}_{2}}^{2}{{a}_{2}^\\dagger}^{2} + 6{{\\phi}_{2}}^{4}{{a}_{2}^\\dagger}^{2} + 12{{\\xi}_p^{*}}^{2} {\\phi}_{1} {{\\phi}_{2}}^{3}{a}_{2}^\\dagger {a}_{1} + 24{\\xi}_p^{*} {\\xi}_p {\\phi}_{1} {{\\phi}_{2}}^{3}{a}_{2}^\\dagger {a}_{1} + 12{{\\xi}_p}^{2} {\\phi}_{1} {{\\phi}_{2}}^{3}{a}_{2}^\\dagger {a}_{1} + 12{{\\phi}_{1}}^{3} {\\phi}_{2}{a}_{2}^\\dagger {a}_{1} + 12{\\phi}_{1} {{\\phi}_{2}}^{3}{a}_{2}^\\dagger {a}_{1} + 12{{\\xi}_p^{*}}^{2} {{\\phi}_{2}}^{4}{a}_{2}^\\dagger {a}_{2} + 24{\\xi}_p^{*} {\\xi}_p {{\\phi}_{2}}^{4}{a}_{2}^\\dagger {a}_{2} + 12{{\\xi}_p}^{2} {{\\phi}_{2}}^{4}{a}_{2}^\\dagger {a}_{2} + 12{{\\phi}_{1}}^{2} {{\\phi}_{2}}^{2}{a}_{2}^\\dagger {a}_{2} + 12{{\\phi}_{2}}^{4}{a}_{2}^\\dagger {a}_{2} + 6{{\\xi}_p^{*}}^{2} {{\\phi}_{1}}^{2} {{\\phi}_{2}}^{2}{{a}_{1}}^{2} + 12{\\xi}_p^{*} {\\xi}_p {{\\phi}_{1}}^{2} {{\\phi}_{2}}^{2}{{a}_{1}}^{2} + 6{{\\xi}_p}^{2} {{\\phi}_{1}}^{2} {{\\phi}_{2}}^{2}{{a}_{1}}^{2} + 6{{\\phi}_{1}}^{4}{{a}_{1}}^{2} + 6{{\\phi}_{1}}^{2} {{\\phi}_{2}}^{2}{{a}_{1}}^{2} + 12{{\\xi}_p^{*}}^{2} {\\phi}_{1} {{\\phi}_{2}}^{3}{a}_{1} {a}_{2} + 24{\\xi}_p^{*} {\\xi}_p {\\phi}_{1} {{\\phi}_{2}}^{3}{a}_{1} {a}_{2} + 12{{\\xi}_p}^{2} {\\phi}_{1} {{\\phi}_{2}}^{3}{a}_{1} {a}_{2} + 12{{\\phi}_{1}}^{3} {\\phi}_{2}{a}_{1} {a}_{2} + 12{\\phi}_{1} {{\\phi}_{2}}^{3}{a}_{1} {a}_{2} + 6{{\\xi}_p^{*}}^{2} {{\\phi}_{2}}^{4}{{a}_{2}}^{2} + 12{\\xi}_p^{*} {\\xi}_p {{\\phi}_{2}}^{4}{{a}_{2}}^{2} + 6{{\\xi}_p}^{2} {{\\phi}_{2}}^{4}{{a}_{2}}^{2} + 6{{\\phi}_{1}}^{2} {{\\phi}_{2}}^{2}{{a}_{2}}^{2} + 6{{\\phi}_{2}}^{4}{{a}_{2}}^{2} + 4{\\xi}_p^{*} {{\\phi}_{1}}^{3} {\\phi}_{2}{{a}_{1}^\\dagger}^{3} + 4{\\xi}_p {{\\phi}_{1}}^{3} {\\phi}_{2}{{a}_{1}^\\dagger}^{3} + 12{\\xi}_p^{*} {{\\phi}_{1}}^{2} {{\\phi}_{2}}^{2}{{a}_{1}^\\dagger}^{2} {a}_{2}^\\dagger + 12{\\xi}_p {{\\phi}_{1}}^{2} {{\\phi}_{2}}^{2}{{a}_{1}^\\dagger}^{2} {a}_{2}^\\dagger + 12{\\xi}_p^{*} {{\\phi}_{1}}^{3} {\\phi}_{2}{{a}_{1}^\\dagger}^{2} {a}_{1} + 12{\\xi}_p {{\\phi}_{1}}^{3} {\\phi}_{2}{{a}_{1}^\\dagger}^{2} {a}_{1} + 12{\\xi}_p^{*} {{\\phi}_{1}}^{2} {{\\phi}_{2}}^{2}{{a}_{1}^\\dagger}^{2} {a}_{2} + 12{\\xi}_p {{\\phi}_{1}}^{2} {{\\phi}_{2}}^{2}{{a}_{1}^\\dagger}^{2} {a}_{2} + 12{\\xi}_p^{*} {\\phi}_{1} {{\\phi}_{2}}^{3}{a}_{1}^\\dagger {{a}_{2}^\\dagger}^{2} + 12{\\xi}_p {\\phi}_{1} {{\\phi}_{2}}^{3}{a}_{1}^\\dagger {{a}_{2}^\\dagger}^{2} + 24{\\xi}_p^{*} {{\\phi}_{1}}^{2} {{\\phi}_{2}}^{2}{a}_{1}^\\dagger {a}_{2}^\\dagger {a}_{1} + 24{\\xi}_p {{\\phi}_{1}}^{2} {{\\phi}_{2}}^{2}{a}_{1}^\\dagger {a}_{2}^\\dagger {a}_{1} + 24{\\xi}_p^{*} {\\phi}_{1} {{\\phi}_{2}}^{3}{a}_{1}^\\dagger {a}_{2}^\\dagger {a}_{2} + 24{\\xi}_p {\\phi}_{1} {{\\phi}_{2}}^{3}{a}_{1}^\\dagger {a}_{2}^\\dagger {a}_{2} + 12{\\xi}_p^{*} {{\\phi}_{1}}^{3} {\\phi}_{2}{a}_{1}^\\dagger {{a}_{1}}^{2} + 12{\\xi}_p {{\\phi}_{1}}^{3} {\\phi}_{2}{a}_{1}^\\dagger {{a}_{1}}^{2} + 24{\\xi}_p^{*} {{\\phi}_{1}}^{2} {{\\phi}_{2}}^{2}{a}_{1}^\\dagger {a}_{1} {a}_{2} + 24{\\xi}_p {{\\phi}_{1}}^{2} {{\\phi}_{2}}^{2}{a}_{1}^\\dagger {a}_{1} {a}_{2} + 12{\\xi}_p^{*} {\\phi}_{1} {{\\phi}_{2}}^{3}{a}_{1}^\\dagger {{a}_{2}}^{2} + 12{\\xi}_p {\\phi}_{1} {{\\phi}_{2}}^{3}{a}_{1}^\\dagger {{a}_{2}}^{2} + 4{\\xi}_p^{*} {{\\phi}_{2}}^{4}{{a}_{2}^\\dagger}^{3} + 4{\\xi}_p {{\\phi}_{2}}^{4}{{a}_{2}^\\dagger}^{3} + 12{\\xi}_p^{*} {\\phi}_{1} {{\\phi}_{2}}^{3}{{a}_{2}^\\dagger}^{2} {a}_{1} + 12{\\xi}_p {\\phi}_{1} {{\\phi}_{2}}^{3}{{a}_{2}^\\dagger}^{2} {a}_{1} + 12{\\xi}_p^{*} {{\\phi}_{2}}^{4}{{a}_{2}^\\dagger}^{2} {a}_{2} + 12{\\xi}_p {{\\phi}_{2}}^{4}{{a}_{2}^\\dagger}^{2} {a}_{2} + 12{\\xi}_p^{*} {{\\phi}_{1}}^{2} {{\\phi}_{2}}^{2}{a}_{2}^\\dagger {{a}_{1}}^{2} + 12{\\xi}_p {{\\phi}_{1}}^{2} {{\\phi}_{2}}^{2}{a}_{2}^\\dagger {{a}_{1}}^{2} + 24{\\xi}_p^{*} {\\phi}_{1} {{\\phi}_{2}}^{3}{a}_{2}^\\dagger {a}_{1} {a}_{2} + 24{\\xi}_p {\\phi}_{1} {{\\phi}_{2}}^{3}{a}_{2}^\\dagger {a}_{1} {a}_{2} + 12{\\xi}_p^{*} {{\\phi}_{2}}^{4}{a}_{2}^\\dagger {{a}_{2}}^{2} + 12{\\xi}_p {{\\phi}_{2}}^{4}{a}_{2}^\\dagger {{a}_{2}}^{2} + 4{\\xi}_p^{*} {{\\phi}_{1}}^{3} {\\phi}_{2}{{a}_{1}}^{3} + 4{\\xi}_p {{\\phi}_{1}}^{3} {\\phi}_{2}{{a}_{1}}^{3} + 12{\\xi}_p^{*} {{\\phi}_{1}}^{2} {{\\phi}_{2}}^{2}{{a}_{1}}^{2} {a}_{2} + 12{\\xi}_p {{\\phi}_{1}}^{2} {{\\phi}_{2}}^{2}{{a}_{1}}^{2} {a}_{2} + 12{\\xi}_p^{*} {\\phi}_{1} {{\\phi}_{2}}^{3}{a}_{1} {{a}_{2}}^{2} + 12{\\xi}_p {\\phi}_{1} {{\\phi}_{2}}^{3}{a}_{1} {{a}_{2}}^{2} + 4{\\xi}_p^{*} {{\\phi}_{2}}^{4}{{a}_{2}}^{3} + 4{\\xi}_p {{\\phi}_{2}}^{4}{{a}_{2}}^{3} + {{\\phi}_{1}}^{4}{{a}_{1}^\\dagger}^{4} + 4{{\\phi}_{1}}^{3} {\\phi}_{2}{{a}_{1}^\\dagger}^{3} {a}_{2}^\\dagger + 4{{\\phi}_{1}}^{4}{{a}_{1}^\\dagger}^{3} {a}_{1} + 4{{\\phi}_{1}}^{3} {\\phi}_{2}{{a}_{1}^\\dagger}^{3} {a}_{2} + 6{{\\phi}_{1}}^{2} {{\\phi}_{2}}^{2}{{a}_{1}^\\dagger}^{2} {{a}_{2}^\\dagger}^{2} + 12{{\\phi}_{1}}^{3} {\\phi}_{2}{{a}_{1}^\\dagger}^{2} {a}_{2}^\\dagger {a}_{1} + 12{{\\phi}_{1}}^{2} {{\\phi}_{2}}^{2}{{a}_{1}^\\dagger}^{2} {a}_{2}^\\dagger {a}_{2} + 6{{\\phi}_{1}}^{4}{{a}_{1}^\\dagger}^{2} {{a}_{1}}^{2} + 12{{\\phi}_{1}}^{3} {\\phi}_{2}{{a}_{1}^\\dagger}^{2} {a}_{1} {a}_{2} + 6{{\\phi}_{1}}^{2} {{\\phi}_{2}}^{2}{{a}_{1}^\\dagger}^{2} {{a}_{2}}^{2} + 4{\\phi}_{1} {{\\phi}_{2}}^{3}{a}_{1}^\\dagger {{a}_{2}^\\dagger}^{3} + 12{{\\phi}_{1}}^{2} {{\\phi}_{2}}^{2}{a}_{1}^\\dagger {{a}_{2}^\\dagger}^{2} {a}_{1} + 12{\\phi}_{1} {{\\phi}_{2}}^{3}{a}_{1}^\\dagger {{a}_{2}^\\dagger}^{2} {a}_{2} + 12{{\\phi}_{1}}^{3} {\\phi}_{2}{a}_{1}^\\dagger {a}_{2}^\\dagger {{a}_{1}}^{2} + 24{{\\phi}_{1}}^{2} {{\\phi}_{2}}^{2}{a}_{1}^\\dagger {a}_{2}^\\dagger {a}_{1} {a}_{2} + 12{\\phi}_{1} {{\\phi}_{2}}^{3}{a}_{1}^\\dagger {a}_{2}^\\dagger {{a}_{2}}^{2} + 4{{\\phi}_{1}}^{4}{a}_{1}^\\dagger {{a}_{1}}^{3} + 12{{\\phi}_{1}}^{3} {\\phi}_{2}{a}_{1}^\\dagger {{a}_{1}}^{2} {a}_{2} + 12{{\\phi}_{1}}^{2} {{\\phi}_{2}}^{2}{a}_{1}^\\dagger {a}_{1} {{a}_{2}}^{2} + 4{\\phi}_{1} {{\\phi}_{2}}^{3}{a}_{1}^\\dagger {{a}_{2}}^{3} + {{\\phi}_{2}}^{4}{{a}_{2}^\\dagger}^{4} + 4{\\phi}_{1} {{\\phi}_{2}}^{3}{{a}_{2}^\\dagger}^{3} {a}_{1} + 4{{\\phi}_{2}}^{4}{{a}_{2}^\\dagger}^{3} {a}_{2} + 6{{\\phi}_{1}}^{2} {{\\phi}_{2}}^{2}{{a}_{2}^\\dagger}^{2} {{a}_{1}}^{2} + 12{\\phi}_{1} {{\\phi}_{2}}^{3}{{a}_{2}^\\dagger}^{2} {a}_{1} {a}_{2} + 6{{\\phi}_{2}}^{4}{{a}_{2}^\\dagger}^{2} {{a}_{2}}^{2} + 4{{\\phi}_{1}}^{3} {\\phi}_{2}{a}_{2}^\\dagger {{a}_{1}}^{3} + 12{{\\phi}_{1}}^{2} {{\\phi}_{2}}^{2}{a}_{2}^\\dagger {{a}_{1}}^{2} {a}_{2} + 12{\\phi}_{1} {{\\phi}_{2}}^{3}{a}_{2}^\\dagger {a}_{1} {{a}_{2}}^{2} + 4{{\\phi}_{2}}^{4}{a}_{2}^\\dagger {{a}_{2}}^{3} + {{\\phi}_{1}}^{4}{{a}_{1}}^{4} + 4{{\\phi}_{1}}^{3} {\\phi}_{2}{{a}_{1}}^{3} {a}_{2} + 6{{\\phi}_{1}}^{2} {{\\phi}_{2}}^{2}{{a}_{1}}^{2} {{a}_{2}}^{2} + 4{\\phi}_{1} {{\\phi}_{2}}^{3}{a}_{1} {{a}_{2}}^{3} + {{\\phi}_{2}}^{4}{{a}_{2}}^{4}$" ], "text/plain": [ "ξ_p*⁴ ϕ(2)⁴ + 4 ξ_p*³ ξ_p ϕ(2)⁴ + 6 ξ_p*² ξ_p² ϕ(2)⁴ + 6 ξ_p*² ϕ(1)² ϕ(2)² + 6 ξ_p*² ϕ(2)⁴ + 4 ξ_p* ξ_p³ ϕ(2)⁴ + 12 ξ_p* ξ_p ϕ(1)² ϕ(2)² + 12 ξ_p* ξ_p ϕ(2)⁴ + ξ_p⁴ ϕ(2)⁴ + 6 ξ_p² ϕ(1)² ϕ(2)² + 6 ξ_p² ϕ(2)⁴ + 3 ϕ(1)⁴ + 6 ϕ(1)² ϕ(2)² + 3 ϕ(2)⁴ + 4 ξ_p*³ ϕ(1) ϕ(2)³ a†(1) + 12 ξ_p*² ξ_p ϕ(1) ϕ(2)³ a†(1) + 12 ξ_p* ξ_p² ϕ(1) ϕ(2)³ a†(1) + 12 ξ_p* ϕ(1)³ ϕ(2) a†(1) + 12 ξ_p* ϕ(1) ϕ(2)³ a†(1) + 4 ξ_p³ ϕ(1) ϕ(2)³ a†(1) + 12 ξ_p ϕ(1)³ ϕ(2) a†(1) + 12 ξ_p ϕ(1) ϕ(2)³ a†(1) + 4 ξ_p*³ ϕ(2)⁴ a†(2) + 12 ξ_p*² ξ_p ϕ(2)⁴ a†(2) + 12 ξ_p* ξ_p² ϕ(2)⁴ a†(2) + 12 ξ_p* ϕ(1)² ϕ(2)² a†(2) + 12 ξ_p* ϕ(2)⁴ a†(2) + 4 ξ_p³ ϕ(2)⁴ a†(2) + 12 ξ_p ϕ(1)² ϕ(2)² a†(2) + 12 ξ_p ϕ(2)⁴ a†(2) + 4 ξ_p*³ ϕ(1) ϕ(2)³ a(1) + 12 ξ_p*² ξ_p ϕ(1) ϕ(2)³ a(1) + 12 ξ_p* ξ_p² ϕ(1) ϕ(2)³ a(1) + 12 ξ_p* ϕ(1)³ ϕ(2) a(1) + 12 ξ_p* ϕ(1) ϕ(2)³ a(1) + 4 ξ_p³ ϕ(1) ϕ(2)³ a(1) + 12 ξ_p ϕ(1)³ ϕ(2) a(1) + 12 ξ_p ϕ(1) ϕ(2)³ a(1) + 4 ξ_p*³ ϕ(2)⁴ a(2) + 12 ξ_p*² ξ_p ϕ(2)⁴ a(2) + 12 ξ_p* ξ_p² ϕ(2)⁴ a(2) + 12 ξ_p* ϕ(1)² ϕ(2)² a(2) + 12 ξ_p* ϕ(2)⁴ a(2) + 4 ξ_p³ ϕ(2)⁴ a(2) + 12 ξ_p ϕ(1)² ϕ(2)² a(2) + 12 ξ_p ϕ(2)⁴ a(2) + 6 ξ_p*² ϕ(1)² ϕ(2)² a†(1)² + 12 ξ_p* ξ_p ϕ(1)² ϕ(2)² a†(1)² + 6 ξ_p² ϕ(1)² ϕ(2)² a†(1)² + 6 ϕ(1)⁴ a†(1)² + 6 ϕ(1)² ϕ(2)² a†(1)² + 12 ξ_p*² ϕ(1) ϕ(2)³ a†(1) a†(2) + 24 ξ_p* ξ_p ϕ(1) ϕ(2)³ a†(1) a†(2) + 12 ξ_p² ϕ(1) ϕ(2)³ a†(1) a†(2) + 12 ϕ(1)³ ϕ(2) a†(1) a†(2) + 12 ϕ(1) ϕ(2)³ a†(1) a†(2) + 12 ξ_p*² ϕ(1)² ϕ(2)² a†(1) a(1) + 24 ξ_p* ξ_p ϕ(1)² ϕ(2)² a†(1) a(1) + 12 ξ_p² ϕ(1)² ϕ(2)² a†(1) a(1) + 12 ϕ(1)⁴ a†(1) a(1) + 12 ϕ(1)² ϕ(2)² a†(1) a(1) + 12 ξ_p*² ϕ(1) ϕ(2)³ a†(1) a(2) + 24 ξ_p* ξ_p ϕ(1) ϕ(2)³ a†(1) a(2) + 12 ξ_p² ϕ(1) ϕ(2)³ a†(1) a(2) + 12 ϕ(1)³ ϕ(2) a†(1) a(2) + 12 ϕ(1) ϕ(2)³ a†(1) a(2) + 6 ξ_p*² ϕ(2)⁴ a†(2)² + 12 ξ_p* ξ_p ϕ(2)⁴ a†(2)² + 6 ξ_p² ϕ(2)⁴ a†(2)² + 6 ϕ(1)² ϕ(2)² a†(2)² + 6 ϕ(2)⁴ a†(2)² + 12 ξ_p*² ϕ(1) ϕ(2)³ a†(2) a(1) + 24 ξ_p* ξ_p ϕ(1) ϕ(2)³ a†(2) a(1) + 12 ξ_p² ϕ(1) ϕ(2)³ a†(2) a(1) + 12 ϕ(1)³ ϕ(2) a†(2) a(1) + 12 ϕ(1) ϕ(2)³ a†(2) a(1) + 12 ξ_p*² ϕ(2)⁴ a†(2) a(2) + 24 ξ_p* ξ_p ϕ(2)⁴ a†(2) a(2) + 12 ξ_p² ϕ(2)⁴ a†(2) a(2) + 12 ϕ(1)² ϕ(2)² a†(2) a(2) + 12 ϕ(2)⁴ a†(2) a(2) + 6 ξ_p*² ϕ(1)² ϕ(2)² a(1)² + 12 ξ_p* ξ_p ϕ(1)² ϕ(2)² a(1)² + 6 ξ_p² ϕ(1)² ϕ(2)² a(1)² + 6 ϕ(1)⁴ a(1)² + 6 ϕ(1)² ϕ(2)² a(1)² + 12 ξ_p*² ϕ(1) ϕ(2)³ a(1) a(2) + 24 ξ_p* ξ_p ϕ(1) ϕ(2)³ a(1) a(2) + 12 ξ_p² ϕ(1) ϕ(2)³ a(1) a(2) + 12 ϕ(1)³ ϕ(2) a(1) a(2) + 12 ϕ(1) ϕ(2)³ a(1) a(2) + 6 ξ_p*² ϕ(2)⁴ a(2)² + 12 ξ_p* ξ_p ϕ(2)⁴ a(2)² + 6 ξ_p² ϕ(2)⁴ a(2)² + 6 ϕ(1)² ϕ(2)² a(2)² + 6 ϕ(2)⁴ a(2)² + 4 ξ_p* ϕ(1)³ ϕ(2) a†(1)³ + 4 ξ_p ϕ(1)³ ϕ(2) a†(1)³ + 12 ξ_p* ϕ(1)² ϕ(2)² a†(1)² a†(2) + 12 ξ_p ϕ(1)² ϕ(2)² a†(1)² a†(2) + 12 ξ_p* ϕ(1)³ ϕ(2) a†(1)² a(1) + 12 ξ_p ϕ(1)³ ϕ(2) a†(1)² a(1) + 12 ξ_p* ϕ(1)² ϕ(2)² a†(1)² a(2) + 12 ξ_p ϕ(1)² ϕ(2)² a†(1)² a(2) + 12 ξ_p* ϕ(1) ϕ(2)³ a†(1) a†(2)² + 12 ξ_p ϕ(1) ϕ(2)³ a†(1) a†(2)² + 24 ξ_p* ϕ(1)² ϕ(2)² a†(1) a†(2) a(1) + 24 ξ_p ϕ(1)² ϕ(2)² a†(1) a†(2) a(1) + 24 ξ_p* ϕ(1) ϕ(2)³ a†(1) a†(2) a(2) + 24 ξ_p ϕ(1) ϕ(2)³ a†(1) a†(2) a(2) + 12 ξ_p* ϕ(1)³ ϕ(2) a†(1) a(1)² + 12 ξ_p ϕ(1)³ ϕ(2) a†(1) a(1)² + 24 ξ_p* ϕ(1)² ϕ(2)² a†(1) a(1) a(2) + 24 ξ_p ϕ(1)² ϕ(2)² a†(1) a(1) a(2) + 12 ξ_p* ϕ(1) ϕ(2)³ a†(1) a(2)² + 12 ξ_p ϕ(1) ϕ(2)³ a†(1) a(2)² + 4 ξ_p* ϕ(2)⁴ a†(2)³ + 4 ξ_p ϕ(2)⁴ a†(2)³ + 12 ξ_p* ϕ(1) ϕ(2)³ a†(2)² a(1) + 12 ξ_p ϕ(1) ϕ(2)³ a†(2)² a(1) + 12 ξ_p* ϕ(2)⁴ a†(2)² a(2) + 12 ξ_p ϕ(2)⁴ a†(2)² a(2) + 12 ξ_p* ϕ(1)² ϕ(2)² a†(2) a(1)² + 12 ξ_p ϕ(1)² ϕ(2)² a†(2) a(1)² + 24 ξ_p* ϕ(1) ϕ(2)³ a†(2) a(1) a(2) + 24 ξ_p ϕ(1) ϕ(2)³ a†(2) a(1) a(2) + 12 ξ_p* ϕ(2)⁴ a†(2) a(2)² + 12 ξ_p ϕ(2)⁴ a†(2) a(2)² + 4 ξ_p* ϕ(1)³ ϕ(2) a(1)³ + 4 ξ_p ϕ(1)³ ϕ(2) a(1)³ + 12 ξ_p* ϕ(1)² ϕ(2)² a(1)² a(2) + 12 ξ_p ϕ(1)² ϕ(2)² a(1)² a(2) + 12 ξ_p* ϕ(1) ϕ(2)³ a(1) a(2)² + 12 ξ_p ϕ(1) ϕ(2)³ a(1) a(2)² + 4 ξ_p* ϕ(2)⁴ a(2)³ + 4 ξ_p ϕ(2)⁴ a(2)³ + ϕ(1)⁴ a†(1)⁴ + 4 ϕ(1)³ ϕ(2) a†(1)³ a†(2) + 4 ϕ(1)⁴ a†(1)³ a(1) + 4 ϕ(1)³ ϕ(2) a†(1)³ a(2) + 6 ϕ(1)² ϕ(2)² a†(1)² a†(2)² + 12 ϕ(1)³ ϕ(2) a†(1)² a†(2) a(1) + 12 ϕ(1)² ϕ(2)² a†(1)² a†(2) a(2) + 6 ϕ(1)⁴ a†(1)² a(1)² + 12 ϕ(1)³ ϕ(2) a†(1)² a(1) a(2) + 6 ϕ(1)² ϕ(2)² a†(1)² a(2)² + 4 ϕ(1) ϕ(2)³ a†(1) a†(2)³ + 12 ϕ(1)² ϕ(2)² a†(1) a†(2)² a(1) + 12 ϕ(1) ϕ(2)³ a†(1) a†(2)² a(2) + 12 ϕ(1)³ ϕ(2) a†(1) a†(2) a(1)² + 24 ϕ(1)² ϕ(2)² a†(1) a†(2) a(1) a(2) + 12 ϕ(1) ϕ(2)³ a†(1) a†(2) a(2)² + 4 ϕ(1)⁴ a†(1) a(1)³ + 12 ϕ(1)³ ϕ(2) a†(1) a(1)² a(2) + 12 ϕ(1)² ϕ(2)² a†(1) a(1) a(2)² + 4 ϕ(1) ϕ(2)³ a†(1) a(2)³ + ϕ(2)⁴ a†(2)⁴ + 4 ϕ(1) ϕ(2)³ a†(2)³ a(1) + 4 ϕ(2)⁴ a†(2)³ a(2) + 6 ϕ(1)² ϕ(2)² a†(2)² a(1)² + 12 ϕ(1) ϕ(2)³ a†(2)² a(1) a(2) + 6 ϕ(2)⁴ a†(2)² a(2)² + 4 ϕ(1)³ ϕ(2) a†(2) a(1)³ + 12 ϕ(1)² ϕ(2)² a†(2) a(1)² a(2) + 12 ϕ(1) ϕ(2)³ a†(2) a(1) a(2)² + 4 ϕ(2)⁴ a†(2) a(2)³ + ϕ(1)⁴ a(1)⁴ + 4 ϕ(1)³ ϕ(2) a(1)³ a(2) + 6 ϕ(1)² ϕ(2)² a(1)² a(2)² + 4 ϕ(1) ϕ(2)³ a(1) a(2)³ + ϕ(2)⁴ a(2)⁴" ] }, "execution_count": 38, "metadata": {}, "output_type": "execute_result" } ], "source": [ "phi4 = normal_form((param(:ϕ,:1)* (a(1) + a(1)') + param(:ϕ,:2)* (a(2) + a(2)' + ξp + ξp'))^4)" ] }, { "cell_type": "code", "execution_count": 49, "id": "aaf28bec", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "171" ] }, "execution_count": 49, "metadata": {}, "output_type": "execute_result" } ], "source": [ "phi4.terms.count" ] }, { "cell_type": "code", "execution_count": 39, "id": "515b72ab", "metadata": {}, "outputs": [], "source": [ "P = Vector{QuantumAlgebra.Param}[]\n", "B = Vector{QuantumAlgebra.BaseOperator}[]\n", "T = Vector{Int64}();\n", "\n", "###\n", "for (s,t) in phi4.terms\n", " if !isempty(s.bares)\n", " check0 = adjoint(s.bares).v\n", " check1 = reshape([v::QuantumAlgebra.BaseOperator for v in adjoint(s.bares.v)],length(s.bares.v),)\n", " if check0 ∉ B && check1 ∉ B\n", " push!(B,s.bares.v)\n", " push!(P,s.params)\n", " push!(T,t)\n", " end\n", " end\n", "end\n", "\n", "###\n", "BB = [QuantumAlgebra.BaseOpProduct(b) for b in unique(B)]\n", "\n", "Punique = [P[findall(x->x==b.v, B)] for b in BB]\n", "PP = [[QuantumAlgebra.QuTerm(0, QuantumAlgebra.δ[], pint, QuantumAlgebra.ExpVal[], QuantumAlgebra.Corr[], QuantumAlgebra.BaseOpProduct()) for pint in pext] for pext in Punique]\n", "\n", "TT = [T[findall(x->x==b.v, B)] for b in BB];" ] }, { "cell_type": "code", "execution_count": 40, "id": "f1cd1d2f", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "45-element Vector{QuantumAlgebra.BaseOpProduct}:\n", " a†(2)² a(1)\n", " a†(1) a†(2)³\n", " a†(1)² a(1) a(2)\n", " a†(2) a(2)\n", " a†(1) a(1)²\n", " a†(2) a(2)³\n", " a†(2)³\n", " a†(2) a(2)²\n", " a†(2)³ a(1)\n", " a(1) a(2)²\n", " a†(1)³ a†(2)\n", " a†(1)² a(2)\n", " a†(1)² a(1)²\n", " ⋮\n", " a†(1) a†(2) a(2)²\n", " a†(1)² a(2)²\n", " a†(2)² a(2)²\n", " a†(1) a†(2)² a(2)\n", " a†(1) a(1)\n", " a†(1) a†(2) a(2)\n", " a†(2)² a(1) a(2)\n", " a†(1) a†(2) a(1)²\n", " a†(1)³\n", " a†(1) a(1) a(2)\n", " a†(1) a†(2)² a(1)\n", " a†(1) a†(2) a(1)" ] }, "execution_count": 40, "metadata": {}, "output_type": "execute_result" } ], "source": [ "BB" ] }, { "cell_type": "code", "execution_count": 41, "id": "61c7aca9", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "45-element Vector{Vector{QuantumAlgebra.QuTerm}}:\n", " [ξ_p ϕ(1) ϕ(2)³ , ξ_p* ϕ(1) ϕ(2)³ ]\n", " [ϕ(1) ϕ(2)³ ]\n", " [ϕ(1)³ ϕ(2) ]\n", " [ξ_p² ϕ(2)⁴ ]\n", " [ξ_p ϕ(1)³ ϕ(2) , ξ_p* ϕ(1)³ ϕ(2) ]\n", " [ϕ(2)⁴ ]\n", " [ξ_p ϕ(2)⁴ , ξ_p* ϕ(2)⁴ ]\n", " [ξ_p ϕ(2)⁴ , ξ_p* ϕ(2)⁴ ]\n", " [ϕ(1) ϕ(2)³ ]\n", " [ξ_p ϕ(1) ϕ(2)³ , ξ_p* ϕ(1) ϕ(2)³ ]\n", " [ϕ(1)³ ϕ(2) ]\n", " [ξ_p ϕ(1)² ϕ(2)² , ξ_p* ϕ(1)² ϕ(2)² ]\n", " [ϕ(1)⁴ ]\n", " ⋮\n", " [ϕ(1) ϕ(2)³ ]\n", " [ϕ(1)² ϕ(2)² ]\n", " [ϕ(2)⁴ ]\n", " [ϕ(1) ϕ(2)³ ]\n", " [ϕ(1)⁴ ]\n", " [ξ_p ϕ(1) ϕ(2)³ , ξ_p* ϕ(1) ϕ(2)³ ]\n", " [ϕ(1) ϕ(2)³ ]\n", " [ϕ(1)³ ϕ(2) ]\n", " [ξ_p ϕ(1)³ ϕ(2) , ξ_p* ϕ(1)³ ϕ(2) ]\n", " [ξ_p ϕ(1)² ϕ(2)² , ξ_p* ϕ(1)² ϕ(2)² ]\n", " [ϕ(1)² ϕ(2)² ]\n", " [ξ_p ϕ(1)² ϕ(2)² , ξ_p* ϕ(1)² ϕ(2)² ]" ] }, "execution_count": 41, "metadata": {}, "output_type": "execute_result" } ], "source": [ "PP" ] }, { "cell_type": "code", "execution_count": 42, "id": "8e61f757", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "45-element Vector{Vector{Int64}}:\n", " [12, 12]\n", " [4]\n", " [12]\n", " [12]\n", " [12, 12]\n", " [4]\n", " [4, 4]\n", " [12, 12]\n", " [4]\n", " [12, 12]\n", " [4]\n", " [12, 12]\n", " [6]\n", " ⋮\n", " [12]\n", " [6]\n", " [6]\n", " [12]\n", " [12]\n", " [24, 24]\n", " [12]\n", " [12]\n", " [4, 4]\n", " [24, 24]\n", " [12]\n", " [24, 24]" ] }, "execution_count": 42, "metadata": {}, "output_type": "execute_result" } ], "source": [ "TT" ] }, { "cell_type": "code", "execution_count": 43, "id": "4ca75419", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "45-element Vector{QuExpr}:\n", " 12 ξ_p* ϕ(1) ϕ(2)³ + 12 ξ_p ϕ(1) ϕ(2)³ \n", " 4 ϕ(1) ϕ(2)³ \n", " 12 ϕ(1)³ ϕ(2) \n", " 12 ξ_p² ϕ(2)⁴ \n", " 12 ξ_p* ϕ(1)³ ϕ(2) + 12 ξ_p ϕ(1)³ ϕ(2) \n", " 4 ϕ(2)⁴ \n", " 4 ξ_p* ϕ(2)⁴ + 4 ξ_p ϕ(2)⁴ \n", " 12 ξ_p* ϕ(2)⁴ + 12 ξ_p ϕ(2)⁴ \n", " 4 ϕ(1) ϕ(2)³ \n", " 12 ξ_p* ϕ(1) ϕ(2)³ + 12 ξ_p ϕ(1) ϕ(2)³ \n", " 4 ϕ(1)³ ϕ(2) \n", " 12 ξ_p* ϕ(1)² ϕ(2)² + 12 ξ_p ϕ(1)² ϕ(2)² \n", " 6 ϕ(1)⁴ \n", " ⋮\n", " 12 ϕ(1) ϕ(2)³ \n", " 6 ϕ(1)² ϕ(2)² \n", " 6 ϕ(2)⁴ \n", " 12 ϕ(1) ϕ(2)³ \n", " 12 ϕ(1)⁴ \n", " 24 ξ_p* ϕ(1) ϕ(2)³ + 24 ξ_p ϕ(1) ϕ(2)³ \n", " 12 ϕ(1) ϕ(2)³ \n", " 12 ϕ(1)³ ϕ(2) \n", " 4 ξ_p* ϕ(1)³ ϕ(2) + 4 ξ_p ϕ(1)³ ϕ(2) \n", " 24 ξ_p* ϕ(1)² ϕ(2)² + 24 ξ_p ϕ(1)² ϕ(2)² \n", " 12 ϕ(1)² ϕ(2)² \n", " 24 ξ_p* ϕ(1)² ϕ(2)² + 24 ξ_p ϕ(1)² ϕ(2)² " ] }, "execution_count": 43, "metadata": {}, "output_type": "execute_result" } ], "source": [ "AA = Vector{QuantumAlgebra.QuExpr}()\n", "for (pext,text) in zip(PP,TT)\n", " A = QuExpr()\n", " for (pint,tint) in zip(pext,text)\n", " QuantumAlgebra._add_with_auto_order!(A,pint,tint)\n", " end\n", " push!(AA,A)\n", "end\n", "\n", "AA" ] }, { "cell_type": "code", "execution_count": 61, "id": "7fa98481", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "45-element Vector{QuantumAlgebra.BaseOpProduct}:\n", " a†(1)\n", " a†(2)\n", " a†(1)²\n", " a†(1) a†(2)\n", " a†(1) a(1)\n", " a†(2) a(1)\n", " a†(2) a(2)\n", " a(2)²\n", " a†(1)³\n", " a†(1)² a†(2)\n", " a†(1)² a(2)\n", " a†(1) a†(2) a(1)\n", " a†(1) a†(2) a(2)\n", " ⋮\n", " a†(1) a†(2) a(1) a(2)\n", " a†(1) a†(2) a(2)²\n", " a†(1) a(1)³\n", " a†(1) a(1)² a(2)\n", " a†(1) a(1) a(2)²\n", " a†(2)⁴\n", " a†(2)³ a(1)\n", " a†(2)² a(1) a(2)\n", " a†(2)² a(2)²\n", " a†(2) a(1)² a(2)\n", " a†(2) a(1) a(2)²\n", " a†(2) a(2)³" ] }, "execution_count": 61, "metadata": {}, "output_type": "execute_result" } ], "source": [ "perm = sortperm(BB)\n", "BB[perm]" ] }, { "cell_type": "code", "execution_count": 65, "id": "fddddcd6", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "45-element Vector{QuExpr}:\n", " 4 ξ_p*³ ϕ(1) ϕ(2)³ + 12 ξ_p*² ξ_p ϕ(1) ϕ(2)³ + 12 ξ_p* ξ_p² ϕ(1) ϕ(2)³ + 12 ξ_p* ϕ(1)³ ϕ(2) + 12 ξ_p* ϕ(1) ϕ(2)³ + 4 ξ_p³ ϕ(1) ϕ(2)³ + 12 ξ_p ϕ(1)³ ϕ(2) + 12 ξ_p ϕ(1) ϕ(2)³ \n", " 4 ξ_p*³ ϕ(2)⁴ + 12 ξ_p*² ξ_p ϕ(2)⁴ + 12 ξ_p* ξ_p² ϕ(2)⁴ + 12 ξ_p* ϕ(1)² ϕ(2)² + 12 ξ_p* ϕ(2)⁴ + 4 ξ_p³ ϕ(2)⁴ + 12 ξ_p ϕ(1)² ϕ(2)² + 12 ξ_p ϕ(2)⁴ \n", " 6 ξ_p*² ϕ(1)² ϕ(2)² + 12 ξ_p* ξ_p ϕ(1)² ϕ(2)² + 6 ξ_p² ϕ(1)² ϕ(2)² + 6 ϕ(1)⁴ + 6 ϕ(1)² ϕ(2)² \n", " 12 ξ_p*² ϕ(1) ϕ(2)³ + 24 ξ_p* ξ_p ϕ(1) ϕ(2)³ + 12 ξ_p² ϕ(1) ϕ(2)³ + 12 ϕ(1)³ ϕ(2) + 12 ϕ(1) ϕ(2)³ \n", " 12 ϕ(1)⁴ \n", " 12 ξ_p*² ϕ(1) ϕ(2)³ + 24 ξ_p* ξ_p ϕ(1) ϕ(2)³ + 12 ξ_p² ϕ(1) ϕ(2)³ + 12 ϕ(1)³ ϕ(2) + 12 ϕ(1) ϕ(2)³ \n", " 12 ξ_p² ϕ(2)⁴ \n", " 6 ξ_p*² ϕ(2)⁴ + 12 ξ_p* ξ_p ϕ(2)⁴ + 6 ξ_p² ϕ(2)⁴ + 6 ϕ(1)² ϕ(2)² + 6 ϕ(2)⁴ \n", " 4 ξ_p* ϕ(1)³ ϕ(2) + 4 ξ_p ϕ(1)³ ϕ(2) \n", " 12 ξ_p* ϕ(1)² ϕ(2)² + 12 ξ_p ϕ(1)² ϕ(2)² \n", " 12 ξ_p* ϕ(1)² ϕ(2)² + 12 ξ_p ϕ(1)² ϕ(2)² \n", " 24 ξ_p* ϕ(1)² ϕ(2)² + 24 ξ_p ϕ(1)² ϕ(2)² \n", " 24 ξ_p* ϕ(1) ϕ(2)³ + 24 ξ_p ϕ(1) ϕ(2)³ \n", " ⋮\n", " 24 ϕ(1)² ϕ(2)² \n", " 12 ϕ(1) ϕ(2)³ \n", " 4 ϕ(1)⁴ \n", " 12 ϕ(1)³ ϕ(2) \n", " 12 ϕ(1)² ϕ(2)² \n", " ϕ(2)⁴ \n", " 4 ϕ(1) ϕ(2)³ \n", " 12 ϕ(1) ϕ(2)³ \n", " 6 ϕ(2)⁴ \n", " 12 ϕ(1)² ϕ(2)² \n", " 12 ϕ(1) ϕ(2)³ \n", " 4 ϕ(2)⁴ " ] }, "execution_count": 65, "metadata": {}, "output_type": "execute_result" } ], "source": [ "AA[perm]" ] }, { "cell_type": "code", "execution_count": null, "id": "1e90eaa2", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Julia 1.7.2", "language": "julia", "name": "julia-1.7" }, "language_info": { "file_extension": ".jl", "mimetype": "application/julia", "name": "julia", "version": "1.7.2" } }, "nbformat": 4, "nbformat_minor": 5 }