Calculates the ratio of pair generation in two orthogonal basis for the four wave mixing with arbitrary pump polarizations.

Parameters of the system

Off[ClebschGordan::phy];

Hyperfine levels F number

FA=2;
FE=2;
FD=3;
FC=3;

sixJ[F_ ,Fp_,J_,Jp_]:=Re[(((-1))^(Fp+J+2.5))  (Sqrt[(2Fp + 1) (2 J+1)]) SixJSymbol[{J,Jp,1},{Fp,F,1.5}]];

Pumping and measurement polarizations

Beam polarizarions are indicated in the (SubPlus[σ]),(SubMinus[σ]) and π basis.

H={1,0,I};V={1,0,-I};L={1,0,0};R={0,0,1};

(*Pump Polarization*)
Pol01=Normalize[H]; (*795nm Beam*)
Pol02=Normalize[V];    (*762nm Beam*)

(*Measurement Polarization*)
PolSignal=Normalize[H];
PolIdler=Normalize[V];

(* Orthogonal Measurement Polarization*)
PolSignalT=Normalize[V];
PolIdlerT=Normalize[H];

PolSignal1=Normalize[R];
PolIdler1=Normalize[R];

PolSignal1T=Normalize[V];
PolIdler1T=Normalize[H];

Ugly stuff

Transistion matrices

to be replaced with functions of the polarization vectors

TrAE=Pol01[[1]]*Table[ClebschGordan[{FA,i},{1,1},{FE,j}],{i,-FA,FA},{j,-FE,FE}]+Pol01[[2]]*Table[ClebschGordan[{FA,i},{1,0},{FE,j}],{i,-FA,FA},{j,-FE,FE}]+Pol01[[3]]*Table[ClebschGordan[{FA,i},{1,-1},{FE,j}],{i,-FA,FA},{j,-FE,FE}]
MatrixForm[%]

TrED=Pol02[[1]]*Table[ClebschGordan[{FE,i},{1,1},{FD,j}],{i,-FE,FE},{j,-FD,FD}]+Pol02[[2]]*Table[ClebschGordan[{FE,i},{1,0},{FD,j}],{i,-FE,FE},{j,-FD,FD}]+Pol02[[3]]*Table[ClebschGordan[{FE,i},{1,-1},{FD,j}],{i,-FE,FE},{j,-FD,FD}]
MatrixForm[%]

TrDC=PolSignal[[1]]*Table[ClebschGordan[{FD,i},{1,1},{FC,j}],{i,-FD,FD},{j,-FC,FC}]+PolSignal[[3]]*Table[ClebschGordan[{FD,i},{1,-1},{FC,j}],{i,-FD,FD},{j,-FC,FC}]+PolSignal[[2]]*Table[ClebschGordan[{FD,i},{1,0},{FC,j}],{i,-FD,FD},{j,-FC,FC}]

TrCA=PolIdler[[1]]*Table[ClebschGordan[{FC,i},{1,1},{FA,j}],{i,-FC,FC},{j,-FA,FA}]+PolIdler[[3]]*Table[ClebschGordan[{FC,i},{1,-1},{FA,j}],{i,-FC,FC},{j,-FA,FA}]+PolIdler[[2]]*Table[ClebschGordan[{FC,i},{1,0},{FA,j}],{i,-FC,FC},{j,-FA,FA}]

TrDC1=PolSignal1[[1]]*Table[ClebschGordan[{FD,i},{1,1},{FC,j}],{i,-FD,FD},{j,-FC,FC}]+PolSignal1[[3]]*Table[ClebschGordan[{FD,i},{1,-1},{FC,j}],{i,-FD,FD},{j,-FC,FC}]+PolSignal1[[2]]*Table[ClebschGordan[{FD,i},{1,0},{FC,j}],{i,-FD,FD},{j,-FC,FC}]

TrCA1=PolIdler1[[1]]*Table[ClebschGordan[{FC,i},{1,1},{FA,j}],{i,-FC,FC},{j,-FA,FA}]+PolIdler1[[3]]*Table[ClebschGordan[{FC,i},{1,-1},{FA,j}],{i,-FC,FC},{j,-FA,FA}]+PolIdler1[[2]]*Table[ClebschGordan[{FC,i},{1,0},{FA,j}],{i,-FC,FC},{j,-FA,FA}]

TrDCT=PolSignalT[[1]]*Table[ClebschGordan[{FD,i},{1,1},{FC,j}],{i,-FD,FD},{j,-FC,FC}]+PolSignalT[[3]]*Table[ClebschGordan[{FD,i},{1,-1},{FC,j}],{i,-FD,FD},{j,-FC,FC}]+PolSignalT[[2]]*Table[ClebschGordan[{FD,i},{1,0},{FC,j}],{i,-FD,FD},{j,-FC,FC}]

TrCAT=PolIdlerT[[1]]*Table[ClebschGordan[{FC,i},{1,1},{FA,j}],{i,-FC,FC},{j,-FA,FA}]+PolIdlerT[[3]]*Table[ClebschGordan[{FC,i},{1,-1},{FA,j}],{i,-FC,FC},{j,-FA,FA}]+PolIdlerT[[2]]*Table[ClebschGordan[{FC,i},{1,0},{FA,j}],{i,-FC,FC},{j,-FA,FA}]

TrDC1T=PolSignal1T[[1]]*Table[ClebschGordan[{FD,i},{1,1},{FC,j}],{i,-FD,FD},{j,-FC,FC}]+PolSignal1T[[3]]*Table[ClebschGordan[{FD,i},{1,-1},{FC,j}],{i,-FD,FD},{j,-FC,FC}]+PolSignal1T[[2]]*Table[ClebschGordan[{FD,i},{1,0},{FC,j}],{i,-FD,FD},{j,-FC,FC}]

TrCA1T=PolIdler1T[[1]]*Table[ClebschGordan[{FC,i},{1,1},{FA,j}],{i,-FC,FC},{j,-FA,FA}]+PolIdler1T[[3]]*Table[ClebschGordan[{FC,i},{1,-1},{FA,j}],{i,-FC,FC},{j,-FA,FA}]+PolIdler1T[[2]]*Table[ClebschGordan[{FC,i},{1,0},{FA,j}],{i,-FC,FC},{j,-FA,FA}]

Coherent scattering

MatrixForm[Simplify[TrAE.TrED.TrDC1.TrCA1]]//N
MatrixForm[Simplify[TrAE.TrED.TrDCT.TrCAT]]//N

sixjfac1=sixJ[2,3,0.5,1.5]sixJ[3,3,1.5,1.5]

Corr11= sixjfac1 Total[ Diagonal[TrAE.TrED.TrDC.TrCA],10]//N

Corr12=sixjfac1 Total[Diagonal[TrAE.TrED.TrDCT.TrCAT],10]//N

Corr13=sixjfac1 Total[ Diagonal[TrAE.TrED.TrDC1.TrCA1],10]//N

Corr14=sixjfac1 Total[Diagonal[TrAE.TrED.TrDC1T.TrCA1T],10]//N

FA=2;
FE=2;
FD=3;
FC=2;

Ugly stuff

Transistion matrices

to be replaced with functions of the polarization vectors

TrAE=Pol01[[1]]*Table[ClebschGordan[{FA,i},{1,1},{FE,j}],{i,-FA,FA},{j,-FE,FE}]+Pol01[[2]]*Table[ClebschGordan[{FA,i},{1,0},{FE,j}],{i,-FA,FA},{j,-FE,FE}]+Pol01[[3]]*Table[ClebschGordan[{FA,i},{1,-1},{FE,j}],{i,-FA,FA},{j,-FE,FE}];
MatrixForm[%]

TrED=Pol02[[1]]*Table[ClebschGordan[{FE,i},{1,1},{FD,j}],{i,-FE,FE},{j,-FD,FD}]+Pol02[[2]]*Table[ClebschGordan[{FE,i},{1,0},{FD,j}],{i,-FE,FE},{j,-FD,FD}]+Pol02[[3]]*Table[ClebschGordan[{FE,i},{1,-1},{FD,j}],{i,-FE,FE},{j,-FD,FD}];
MatrixForm[%]

TrDC=PolSignal[[1]]*Table[ClebschGordan[{FD,i},{1,1},{FC,j}],{i,-FD,FD},{j,-FC,FC}]+PolSignal[[3]]*Table[ClebschGordan[{FD,i},{1,-1},{FC,j}],{i,-FD,FD},{j,-FC,FC}]+PolSignal[[2]]*Table[ClebschGordan[{FD,i},{1,0},{FC,j}],{i,-FD,FD},{j,-FC,FC}]

TrCA=PolIdler[[1]]*Table[ClebschGordan[{FC,i},{1,1},{FA,j}],{i,-FC,FC},{j,-FA,FA}]+PolIdler[[3]]*Table[ClebschGordan[{FC,i},{1,-1},{FA,j}],{i,-FC,FC},{j,-FA,FA}]+PolIdler[[2]]*Table[ClebschGordan[{FC,i},{1,0},{FA,j}],{i,-FC,FC},{j,-FA,FA}]

TrDC1=PolSignal1[[1]]*Table[ClebschGordan[{FD,i},{1,1},{FC,j}],{i,-FD,FD},{j,-FC,FC}]+PolSignal1[[3]]*Table[ClebschGordan[{FD,i},{1,-1},{FC,j}],{i,-FD,FD},{j,-FC,FC}]+PolSignal1[[2]]*Table[ClebschGordan[{FD,i},{1,0},{FC,j}],{i,-FD,FD},{j,-FC,FC}]

TrCA1=PolIdler1[[1]]*Table[ClebschGordan[{FC,i},{1,1},{FA,j}],{i,-FC,FC},{j,-FA,FA}]+PolIdler1[[3]]*Table[ClebschGordan[{FC,i},{1,-1},{FA,j}],{i,-FC,FC},{j,-FA,FA}]+PolIdler1[[2]]*Table[ClebschGordan[{FC,i},{1,0},{FA,j}],{i,-FC,FC},{j,-FA,FA}]

TrDCT=PolSignalT[[1]]*Table[ClebschGordan[{FD,i},{1,1},{FC,j}],{i,-FD,FD},{j,-FC,FC}]+PolSignalT[[3]]*Table[ClebschGordan[{FD,i},{1,-1},{FC,j}],{i,-FD,FD},{j,-FC,FC}]+PolSignalT[[2]]*Table[ClebschGordan[{FD,i},{1,0},{FC,j}],{i,-FD,FD},{j,-FC,FC}]

TrCAT=PolIdlerT[[1]]*Table[ClebschGordan[{FC,i},{1,1},{FA,j}],{i,-FC,FC},{j,-FA,FA}]+PolIdlerT[[3]]*Table[ClebschGordan[{FC,i},{1,-1},{FA,j}],{i,-FC,FC},{j,-FA,FA}]+PolIdlerT[[2]]*Table[ClebschGordan[{FC,i},{1,0},{FA,j}],{i,-FC,FC},{j,-FA,FA}]

TrDC1T=PolSignal1T[[1]]*Table[ClebschGordan[{FD,i},{1,1},{FC,j}],{i,-FD,FD},{j,-FC,FC}]+PolSignal1T[[3]]*Table[ClebschGordan[{FD,i},{1,-1},{FC,j}],{i,-FD,FD},{j,-FC,FC}]+PolSignal1T[[2]]*Table[ClebschGordan[{FD,i},{1,0},{FC,j}],{i,-FD,FD},{j,-FC,FC}]

TrCA1T=PolIdler1T[[1]]*Table[ClebschGordan[{FC,i},{1,1},{FA,j}],{i,-FC,FC},{j,-FA,FA}]+PolIdler1T[[3]]*Table[ClebschGordan[{FC,i},{1,-1},{FA,j}],{i,-FC,FC},{j,-FA,FA}]+PolIdler1T[[2]]*Table[ClebschGordan[{FC,i},{1,0},{FA,j}],{i,-FC,FC},{j,-FA,FA}]

Coherent scattering

MatrixForm[Simplify[TrAE.TrED.TrDC.TrCA]]//N
MatrixForm[Simplify[TrAE.TrED.TrDCT.TrCAT]]//N

sixjfac2=sixJ[2,2,0.5,1.5] sixJ[2,3,1.5,1.5]

Corr21=sixjfac2 Total[ Diagonal[TrAE.TrED.TrDC.TrCA],10]//N

Corr22=sixjfac2 Total[Diagonal[TrAE.TrED.TrDCT.TrCAT],10]//N

Corr23=sixjfac2 Total[Diagonal[TrAE.TrED.TrDC1.TrCA1],10]//N

Corr24=sixjfac2 Total[Diagonal[TrAE.TrED.TrDC1T.TrCA1T],10]//N

Corr=Normalize[{Corr11,Corr21,Corr12,Corr22,Corr13,Corr23,Corr14,Corr24}]
Corr[[1]]//N
Corr[[2]]//N
Corr[[3]]//N
Corr[[4]]//N
Corr[[5]]//N
Corr[[6]]//N
Corr[[7]]//N
Corr[[8]]//N