Analytical analysis of the single photon compression

Photon wavefunction

Spectrum of exponentially decaying single photon waveform.

ω0 central frequency.
Γ photon bandwidth, corresponding to the FWHM of the lorentzian spectrum.

(*ψ1 = (1/(π Γ-2*I (ω-ω0)));*)
ψ1 = ((Sqrt[2Γ/π])/( Γ+2*I (ω-ω0)))
ψRE = ComplexExpand[Re[ψ1]];
ψIM=ComplexExpand[Im[ψ1]];

((π Γ)/((π^2) (Γ^2)+(((-ω+ω0))^2)))

ψAbs = FullSimplify[Sqrt[ψRE^2 + ψIM^2]]
ψArg =FullSimplify[ArcTan[ψIM /ψRE ]]
Plot[Evaluate[ψArg / π /.{Γ->{6, 26.53}, ω0->0}],
{ω, -500, 500},
PlotLegends->LineLegend[Table[Γ,{Γ,{6, 26.53}}],LegendLabel->Γ (MHz)]]

Cavity transformation

Cavity reflection transfer function in frequency.

ωc Cavity resonance frequency
Γc Cavity bandwidth
R1 input mirror reflectance

(*Cavity = ((1 - R1^((1/2) + I  ((ω - ωc)/(2 π Γc))))/((Sqrt[R1]) - R1^(I  ((ω - ωc)/(2 π Γc)))))*)
Cavity = (((Sqrt[R1]) - R1^(I  ((ω - ωc)/(2 π Γc))))/(1 - R1^((1/2) + I  ((ω - ωc)/(2 π Γc)))))

Taylor expansion around resonance

CavityApprox = Normal[Series[Cavity/.(ω - ωc)->Δω, {R1, 1, 1}]];
Refine[%]
CavityRe = ComplexExpand[Re[CavityApprox]]
CavityIm = ComplexExpand[Im[CavityApprox]]
CavityAbs =Simplify[Sqrt[CavityIm^2 + CavityRe^2], Γc>0];
CavityArg = ArcTan[CavityRe, CavityIm]/.Δω->(ω - ωc)

Check the approximation

Plot[Evaluate[{Arg[Cavity]/π,CavityArg/π }/.{Γc->1, ωc->0, R1->{.98}}],
{ω, -500, 500},
PlotRange->All]

Wavepacket in the cavity

Frequency space

PsiCavity =Simplify[CavityApprox*ψ1/.Δω->(ω - ωc), Γ>0];
TraditionalForm[%]
(* Check the limit case *)
PsiCavityLimit=PsiCavity/.{{Γc-> Γ,ωc->ω0}}[[1]]
TraditionalForm[Normal[%]]

Plot[{Evaluate@Table[Arg[PsiCavity]/π/.{ω0->0, ωc->0,Γ->26.54},{Γc, {.1, 10,50}}],
Arg[ψ1]/π/.{ω0->0,Γ->26.54},
Arg[PsiCavityLimit] /π/.{Γ->26.54,ω0->0}},
{ω, -500, 500},
PlotLegends->LineLegend[Table[Γc,{Γc, {.1, 10, 50,"original", Γ}}],LegendLabel->Γc],
PlotRange->All,
AxesOrigin->{0,0}]

Time space

PsiCavityT = Simplify[InverseFourierTransform[PsiCavity, ω, t],{Γc > 0, Γ>0, Element[ωc,Reals], Element[ω0,Reals]}];
TraditionalForm[%]
(* Check the limit case *)
PsiCavityLimitT = FullSimplify[InverseFourierTransform[PsiCavityLimit, ω, t], {Γc > 0, Γ>0, Element[ωc,Reals], Element[ω0,Reals]}];
TraditionalForm[%]

Ignore the fast oscillating part at ω0 and define Δω=ω0-ωc

PsiCavityTSlow = -(((Sqrt[2π]) (2 (E^(-t π Γc)) π Γc - (E^(-t (π Γ+I Δω))) (π (Γ+Γc)+I Δω) ))/(π (Γ-Γc)+I Δω))HeavisideTheta[t];
TraditionalForm[%]

Plot[{Evaluate@Table[Abs[PsiCavityTSlow/.{Γ->26.53, Δω->0}]^2,{Γc, 1, 8, 2}],Abs[PsiCavityTSlow]^2/.{Γ->26.53, Γc->.1, Δω->1000}}, {t, -.01, .1},PlotLegends->LineLegend[Table[Γc,{Γc, 1, 8, 2}],LegendLabel->Γc],
PlotRange->All,
AxesOrigin->{0,0}]
Plot[Evaluate@Table[ArcTan[-Re[PsiCavityTSlow], Im[PsiCavityTSlow]]/π/.{Γ->26.53, Δω->5},{Γc, 1, 8, 2}], {t, -.01, .1},
PlotLegends->LineLegend[Table[Γc,{Γc, 1, 8, 2}],LegendLabel->Γc],
 PlotRange->All,
AxesOrigin->{0,0}]

Plot[{Evaluate@Table[Log[Abs[PsiCavityTSlow]^2]/.{Γ->26.53,Γc->7},{ Δω, 0, 50, 10}],Log[Abs[PsiCavityTSlow]^2]/.{Γ->26.53, Γc->.1, Δω->1000}},
{t, -.01, .1},
PlotLegends->LineLegend[Table[ Δω,{ Δω, 0, 50, 10}],LegendLabel-> Δω],
PlotRange->All,
AxesOrigin->{0,0}]

Plot[Evaluate@Table[ArcTan[-Re[PsiCavityTSlow], Im[PsiCavityTSlow]]/π/.{Γ->26.53,Γc->7},{ Δω, 0, 20, 4}], {t, -.1, .03},
PlotLegends->LineLegend[Table[ Δω,{ Δω, 0, 20, 4}],LegendLabel-> Δω],
PlotRange->All]

Consider only Δω = 0

NewPsi = (PsiCavityTSlow/.Δω->0)(** (Γ-Γc)*)

Series[NewPsi, {Γc, Γ, 2}]
A = Limit[NewPsi, Γc-> Γ]

Plot[Evaluate[{NewPsi^2, A^2}/.{Γ->26.53,Γc->{ 7, 30, 200}}], {t, -.01, .05},
PlotRange->All]

The direct Fourier transform still does not work on the formal definition of Abs of NewPsi.
There' s no imaginary unit left, the phase is only associated with the change of sign. I redefine NewPsi to set the phase to zero without using the formal definition of Abs[].

SignChangePoint=t/.Solve[NewPsi == 0 , t][[2]][[1]]
Limit[SignChangePoint,Γc-> Γ] 
Plot[SignChangePoint * 2 π Γ/.Γ->26.53, {Γc, 1, 50}]

Plot[Evaluate[{NewPsi*Sign[SignChangePoint-t], NewPsi, Abs[NewPsi]}/.{Γ->26.53,Γc->7, Δω->0}], {t, -.01, .05},
PlotRange->All]

NewPsiF=FourierTransform[NewPsi*Sign[SignChangePoint-t], t, ω, Assumptions->{Γc > 0, Γ>Γc}]

NewPsiFRe = ComplexExpand[Re[NewPsiF]];
NewPsiFIm = ComplexExpand[Im[NewPsiF]];
NewPsiFAbs =Simplify[Sqrt[NewPsiFIm^2 + NewPsiFRe^2], Γc>0]
NewPsiFArg = ArcTan[NewPsiFRe, NewPsiFIm]

Plot[{Log[Abs[ψ1]^2]/.{Γ->26.53, ω0->0},Evaluate@Table[Log[Abs[NewPsiF]^2]/.Γ->26.53,{Γc,{ .1, 1, 7, 14, 30, 80 }}]},
{ω, -800, 800},
PlotLegends->LineLegend[Table[ Γc,{Γc,{"original", .1, 1,7, 14, 30, 80 }}],LegendLabel-> Γc],
PlotRange->All]

Print in a python - compatible format

pw=PageWidth/.Options[$Output];
SetOptions[$Output,PageWidth->Infinity];
FortranForm[NewPsiF//.{E^x_->exp[x],Complex[z_,y_]-> 1j , Pi->pi, Γ->Gamma, Γc->Gammac}]
SetOptions[$Output,PageWidth->pw];