In[]:=
(*::Title::*)DualityEquationsinComplexVectorSpace
Out[]=
ComplexDualityEquationsinVector
In[]:=
(*::Section::*)SymbolicandNumericalComputationofNullSpaces(*ThisMathematicanotebookdemonstratessymbolicandnumericaltechniquesforsolvingdualityequationsarisinginYang-MillsgradientflowandQCDloopcalculus.*)(*Theapproachincludes:-Samplingcomplexvectorsonanellipsoid-Constructingalinearsystem`Q`-Computingitsnullspace-OrthogonalizingnullvectorsunderacustomHermitianmetricUsethe`compute`flagtoswitchbetweensymbolicandnumericevaluation.*)(*::Section::*)LieAlgebraBasisModulesforSU(N)andSO(N)ClearAll[suNBasis,soNBasis,groupBasis,GDim,GRank];
Out[]=
andComputationNullNumericalofSpacesSymbolic
Out[]=
AlgebraandBasisforLieModulesSOSU
2
N
In[]:=
suNBasis[N_]:=Module[{basis={},k,l,h,normed},Do[AppendTo[basis,SparseArray[{{k,l}->1,{l,k}->1},{N,N}]],{k,1,N},{l,k+1,N}];Do[AppendTo[basis,SparseArray[{{k,l}->I,{l,k}->-I},{N,N}]],{k,1,N},{l,k+1,N}];Do[AppendTo[basis,DiagonalMatrix[Join[Table[1,{h}],{-h},Table[0,{N-h-1}]]]],{h,1,N-1}];normed=Map[#/Sqrt[Tr[#.#]]&,basis];normed];
In[]:=
soNBasis[N_]:=Module[{basis={},k,l,normed},Do[AppendTo[basis,SparseArray[{{k,l}->1,{l,k}->-1},{N,N}]],{k,1,N},{l,k+1,N}];normed=Map[#/Sqrt[Tr[#.#]]&,basis];normed];
In[]:=
groupBasis["SU",N_]:=suNBasis[N];groupBasis["SO",N_]:=soNBasis[N];
In[]:=
GDim["SU"]:=Function[N,N^2-1];GDim["SO"]:=Function[N,N(N-1)/2];
In[]:=
GRank["SU"]:=Function[N,N-1];GRank["SO"]:=Function[N,Floor[N/2]];
In[]:=
ClearAll[Tr3,Tr3Sym,Tr3Asym];Tr3[a_,b_,c_,N_,group_:"SU"]:=Module[{T},T=groupBasis[group,N];Tr[T[[a]].T[[b]].T[[c]]]];Tr3Sym[a_,b_,c_,N_,group_:"SU"]:=(Tr3[a,b,c,N,group]+Tr3[b,a,c,N,group])/2;Tr3Asym[a_,b_,c_,N_,group_:"SU"]:=(Tr3[a,b,c,N,group]-Tr3[b,a,c,N,group])/2;
In[]:=
Tr3[1,2,3,6,"SO"]
Out[]=
0
In[]:=
(*::Section::*)DefinitionofEtaandF
Out[]=
andDefinitionEtaFof
In[]:=
epsilon[i_,j_,k_,l_]:=Signature[{i,j,k,l}];epsilon[i_,j_,k_]:=Signature[{i,j,k}];epsilon[i_,j_]:=If[(i>2||j>2),0,Signature[{i,j}]];
In[]:=
epsilon[3,4]
Out[]=
0
In[]:=
Eta[i_,μ_,ν_]:=(KroneckerDelta[i,μ]KroneckerDelta[4,ν]-KroneckerDelta[i,ν]KroneckerDelta[4,μ])+epsilon[i,μ,ν,4];
In[]:=
BEta[i_,μ_,ν_]:=(KroneckerDelta[i,μ]KroneckerDelta[4,ν]-KroneckerDelta[i,ν]KroneckerDelta[4,μ])-epsilon[i,μ,ν,4];
In[]:=
A
X
A
W
In[]:=
A
W
A
η
A
v
In[]:=
S2πdr
1
∫
0
-1/2trΣ·
T
Σ
In[]:=
Independents[vars_List,rules_List]:=Complement[vars,rules[[All,1]]];
In[]:=
Independents[{x,y,z,w},{x->y+z,w->y^2}]
Out[]=
{y,z}
In[]:=
F[a_,b_,c_,N_,group_:"SU"]:=Which[a==b==c==0,GDim[group][N],a==0,2KroneckerDelta[b,c],b==0,2KroneckerDelta[a,c],c==0,2KroneckerDelta[a,b],True,Tr3[a,b,c,N,group]];
In[]:=
F[0,3,3,3,"SU"]
Out[]=
2
In[]:=
(*::Section::*)Step1:SamplingaComplexVectoronanEllipsoid
In[]:=
SamplePInEllipsoid[N_,A_,B_,group_:"SU"]:=Module[{dim,D,PRe,PIm,P,norm,scale},dim=GDim[group][N]+1;Print["dim =",dim];D=4dim;PRe=RandomReal[NormalDistribution[0,1],{dim,4}];PIm=RandomReal[NormalDistribution[0,1],{dim,4}];P=(PRe+IPIm)/Sqrt[2];norm=A*Total[Flatten[Abs[P[[2;;]]]^2]]+B*Total[Abs[P[[1]]]^2];scale=RandomReal[]^(1/(2D))/Sqrt[norm];P*=scale;P]
In[]:=
SamplePInEllipsoid[2,1,1]
dim =4
Out[]=
{{-0.091377+0.115012,-0.282581+0.0628146,0.0122783+0.135199,-0.0635041-0.00660901},{-0.271033+0.275677,0.218426+0.0986863,-0.171341+0.037092,0.0388198+0.0711348},{0.00234974+0.273732,0.358112+0.0181346,-0.055542-0.0357827,0.0176348+0.103187},{0.200471+0.345864,0.206529-0.126066,0.0490139+0.178906,0.131148+0.144589}}
In[]:=
(*::Section::*)Step2:Symbolic/NumericNullSpaceExtraction
In[]:=
GetNullSpaceQSymbolic[N_,A_,B_,P_,compute_:True,group_:"SU"]:=Module[{Q,M,FT,ET,Mflat,D,ns,mat,goodNS,vFlat,resultFlat,result,dim},dim=GDim[group][N];D=4(dim+1); Print["dim: ",dim];FT=Table[F[a,c,r,N,group],{a,0,dim},{c,0,dim},{r,0,dim}]; ET=Table[Eta[i,λ,ρ],{i,1,3},{λ,1,4},{ρ,1,4}];Print["P: ",Dimensions[P]]; Print["FT: ",Dimensions[FT]]; Print["ET: ",Dimensions[ET]]; If[!compute, Q=ArrayReshape[Table[Sum[P[[a,λ]]FT[[a,c,r]]ET[[i,λ,ρ]],{a,2,dim+1},{λ,1,4}],{i,1,3},{r,1,dim+1},{c,1,dim+1},{ρ,1,4}],{3(dim+1),D}]; X=Flatten[Table[q[i,m],{i,0,dim},{m,4}]]; Eq=Table[Q[[k]].X,{k,3(dim+1)}]; mat=CoefficientArrays[Eq,X][[2]]; Echo[MatrixForm[mat],"mat"]; ns=NullSpace[mat]; Return[ns]];Q=ArrayReshape[Table[Sum[P[[a,λ]]FT[[a,c,r]]ET[[i,λ,ρ]],{a,1,dim+1},{λ,1,4}],{i,1,3},{r,1,dim+1},{c,1,dim+1},{ρ,1,4}],{3(dim+1),D}];ns=NullSpace[Q];goodNS=Select[ns,ListQ[#]&&Length[#]==D&&And@@(NumberQ[#]&/@#)&];If[Length[goodNS]==0,Return[ConstantArray[0,{dim+1,4}]]];vFlat=goodNS;M[x_,y_]:=ASum[Conjugate[x[[a,μ]]]y[[a,μ]],{a,2,dim+1},{μ,1,4}]+BSum[Conjugate[x[[1,μ]]]y[[1,μ]],{μ,1,4}];Mflat[x_,y_]:=Module[{xx,yy},If[Length[x]=!=D||Length[y]=!=D,Return[0]];xx=ArrayReshape[x,{dim+1,4}];yy=ArrayReshape[y,{dim+1,4}];M[xx,yy]];resultFlat=Orthogonalize[vFlat,Mflat[#1,#2]&];result=Map[ArrayReshape[#,{dim+1,4}]&,resultFlat];result];