RT info:eu-repo/semantics/article T1 QOptCraft: A Python package for the design and study of linear optical quantum systems A1 Gómez Aguado, Daniel A1 Gimeno, Vicent A1 Moyano Fernández, Julio José A1 García Escartín, Juan Carlos K1 Linear interferometers K1 Interferómetros lineales K1 Quantum optics K1 Óptica cuántica AB The manipulation of the quantum states of light in linear optical systems has multiple applications in quantum optics and quantum computation. The package QOptCraftgives a collection of methods to solve some of the most usual problems when designing quantum experiments with linear interferometers. The methods include functions that compute the quantum evolution matrix for n photons from the classical description of the system and inverse methods that, for any desired quantum evolution, will either give the complete description of the experimental system that realizes that unitary evolution or, when this is impossible, the complete description of the linear system which approximates the desired unitary with a locally minimal error. The functions in the package include implementations of different known decompositions that translate the classical scattering matrix of a linear system into a list of beam splitters and phase shifters and methods to compute the effective Hamiltonian that describes the quantum evolution of states with n photons. The package is completed with routines for useful tasks like generating random linear optical systems, computing matrix logarithms, and quantum state entanglement measurement via metrics such as the Schmidt rank. The routines are chosen to avoid usual numerical problems when dealing with the unitary matrices that appear in the description of linear systems. PB Elsevier SN 0010-4655 YR 2022 FD 2022 LK https://uvadoc.uva.es/handle/10324/54628 UL https://uvadoc.uva.es/handle/10324/54628 LA eng NO Computer Physics Communications, 2022, In Press, 108511 NO Producción Científica DS UVaDOC RD 30-jun-2024