spinecho_sim.molecule package#

Module implementing simulation of the Ramsey homonuclear diatomic molecule.

spinecho_sim.molecule.build_diatomic_hamiltonian_dicke(*, two_i: int, two_j: int, coefficients: tuple[float, float, float, float], b_vec: ndarray) csr_matrix#

Generate the Ramsey Hamiltonian as a sparse matrix.

spinecho_sim.molecule.build_diatomic_hamiltonian_majorana(n_i: int, n_j: int, coefficients: tuple[float, float, float, float], b_vec: tuple[float, float, float]) csr_matrix#

Construct the diatomic Hamiltonian for two spin systems.

Submodules#

spinecho_sim.molecule.hamiltonian_dicke module#

spinecho_sim.molecule.hamiltonian_dicke.build_collective_operators(*, two_i: int, two_j: int) tuple[list[csr_matrix], list[csr_matrix]]#

Generate sparse matrices for single spin operators acting on the space of two spins.

spinecho_sim.molecule.hamiltonian_dicke.build_diatomic_hamiltonian_dicke(*, two_i: int, two_j: int, coefficients: tuple[float, float, float, float], b_vec: ndarray) csr_matrix#

Generate the Ramsey Hamiltonian as a sparse matrix.

spinecho_sim.molecule.hamiltonian_dicke.build_quadrupole_hamiltonian_dicke(*, two_i: int, two_j: int) csr_matrix#

Generate the quadrupole Hamiltonian for two spin systems.

spinecho_sim.molecule.hamiltonian_dicke.build_single_spin_operators(*, two_s: int) tuple[csr_matrix, csr_matrix, csr_matrix]#

Generate sparse matrices for single spin operators Sx, Sy, Sz.

spinecho_sim.molecule.hamiltonian_dicke.build_spin_rotation_hamiltonian_dicke(*, two_i: int, two_j: int) csr_matrix#

Generate the spin-rotation Hamiltonian for two spin systems.

spinecho_sim.molecule.hamiltonian_dicke.build_zeeman_hamiltonian_dicke(*, operator_list: list[csr_matrix], b_vec: ndarray) csr_matrix#

Generate and cache the Zeeman Hamiltonian for two spin systems.

spinecho_sim.molecule.hamiltonian_dicke.cache_terms_hamiltonian_dicke(*, two_i: int, two_j: int, c: float, d: float) csr_matrix#

Generate the cache terms Hamiltonian for two spin systems.

spinecho_sim.molecule.hamiltonian_dicke.validate_spin_quantum_number(two_s: int) None#

Check if the spin quantum number is valid integer or half-integer.

spinecho_sim.molecule.hamiltonian_majorana module#

spinecho_sim.molecule.hamiltonian_majorana.build_collective_ij_majorana(n_i: int, n_j: int) tuple[list[csr_matrix], list[csr_matrix]]#

Return the collective spin operators for two spin systems.

spinecho_sim.molecule.hamiltonian_majorana.build_diatomic_hamiltonian_majorana(n_i: int, n_j: int, coefficients: tuple[float, float, float, float], b_vec: tuple[float, float, float]) csr_matrix#

Construct the diatomic Hamiltonian for two spin systems.

spinecho_sim.molecule.hamiltonian_majorana.build_quadrupole_block_majorana(n_i: int, n_j: int, d: float) csr_matrix#

Return the d-term CSR matrix for given (N_I,N_J).

spinecho_sim.molecule.hamiltonian_majorana.build_spin_rotational_hamiltonian_majorana(*, n_i: int, n_j: int, c: float) csr_matrix#

Construct the spin rotational block for two spin systems.

spinecho_sim.molecule.hamiltonian_majorana.build_zeeman_hamiltonian_majorana(*, n_i: int, n_j: int, a: float, b: float, b_vec: tuple[float, float, float]) csr_matrix#

Construct the Zeeman Hamiltonian for two spin systems.