-1

I am trying to simulate Type I and Type II Spontaneous Parametric Down-Conversion (SPDC) based on "Chapter 9 Optical test of quantum mechanics" of the book Introductory Quantum Optics. The result for Type I is true, but for Type II, I got four terms instead of three terms.

enter image description here


enter image description here


enter image description here


Here are my codes for both types:

Type I:

def hamiltonian_none_degenerate_spdc_classical_pump_type_I(Fk_dim, g_spdc):
a_i_spdc = qt.destroy(Fk_dim) & qt.qeye(Fk_dim)
a_s_spdc = qt.qeye(Fk_dim) & qt.destroy(Fk_dim)
H_spdc = g_spdc * (a_i_spdc.dag() @ a_s_spdc.dag())
H_spdc += H_spdc.dag()
U_spdc = (-1j * H_spdc).expm()
return U_spdc, a_i_spdc, a_s_spdc

This is my result for Fock dimension = 2 and mu = 0.3 same as (9.9):

enter image description here


Type II:

def hamiltonian_none_degenerate_spdc_classical_pump_type_II(Fk_dim, g_spdc):
a_H_i_spdc = qt.destroy(Fk_dim) & qt.qeye(Fk_dim) & qt.qeye(Fk_dim) & qt.qeye(Fk_dim)
a_V_i_spdc = qt.qeye(Fk_dim) & qt.destroy(Fk_dim) & qt.qeye(Fk_dim) & qt.qeye(Fk_dim)
a_H_s_spdc = qt.qeye(Fk_dim) & qt.qeye(Fk_dim) & qt.destroy(Fk_dim) & qt.qeye(Fk_dim)
a_V_s_spdc = qt.qeye(Fk_dim) & qt.qeye(Fk_dim) & qt.qeye(Fk_dim) & qt.destroy(Fk_dim)
H_spdc = g_spdc * (a_H_i_spdc.dag() @ a_V_s_spdc.dag() + a_H_s_spdc.dag() @ a_V_i_spdc.dag())
H_spdc += H_spdc.dag()
U_spdc = (-1j * H_spdc).expm()
return U_spdc, H_spdc, a_H_i_spdc, a_V_i_spdc, a_H_s_spdc, a_V_s_spdc

This is my result for Fock dimension = 2 and mu = 0.3 it should be same as (9.11):

enter image description here


Where is the issue for the Hamiltonian of Type II?

Reza
  • 9
  • 1

0 Answers0