Quantum ++ es una moderna biblioteca de computación cuántica C ++ de propósito general, compuesta únicamente de archivos de encabezado de plantilla. Quantum ++ se escribe en C ++ 17 estándar y tiene dependencias externas muy bajas, utilizando solo la biblioteca de plantillas de encabezado lineal Eigen 3 Linear Algebra y, si está disponible, la biblioteca de multiprocesamiento OpenMP.
Quantum ++ no está restringido a sistemas qubit o tareas específicas de procesamiento de información cuántica, siendo capaz de simular procesos cuánticos arbitrarios. Los principales factores de diseño tomados en consideración fueron la facilidad de uso, la alta portabilidad y el alto rendimiento. Las capacidades de simulación de la biblioteca solo están restringidas por la cantidad de memoria física disponible. En una máquina típica (Intel i5 8GB RAM) Quantum ++ puede simular con éxito la evolución de 25 qubits en un estado puro o de 12 qubits en un estado mixto razonablemente rápido.
Para informar cualquier error o solicitar características/mejoras adicionales, envíe un problema con una etiqueta apropiada.
Si está interesado en contribuir a este proyecto, no dude en contactarnos. Alternativamente, bifurca el repositorio, crea una rama personalizada, agregue su contribución y finalmente cree una solicitud de extracción. Si aceptamos la solicitud de extracción, fusionaremos su rama personalizada con la última rama principal/de desarrollo. Este último eventualmente se fusionará en una versión de lanzamiento futura. Para contribuir, es preferible tener un conocimiento sólido de C ++ moderno (preferiblemente C ++ 17 o posterior), incluidas las plantillas y la biblioteca estándar, un conocimiento básico de la computación cuántica y el álgebra lineal, y la experiencia laboral con Eigen 3.
Para la documentación adicional de Eigen 3, consulte https://eigen.tuxfamily.org/dox/. Para una referencia ASCII rápida de Eigen 3 simple, consulte https://eigen.tuxfamily.org/dox/asciiquickreference.txt.
Copyright (c) 2017 - 2024 Softwareq Inc. Todos los derechos reservados.
Quantum ++ se distribuye bajo la licencia MIT. Consulte el archivo LICENSE.txt para obtener más detalles.
Consulte la Guía de instalación INSTALL.md y el Wiki integral para obtener más documentación y ejemplos detallados.
Para generar la documentación oficial de API oficial en los formatos de látex y HTML, ejecutan doxygen en el archivo Doxyfile . Se debe instalar el dot herramienta del paquete Graphviz ( sudo apt-get install graphviz en Ubuntu/Debian Linux, o brew install graphviz en macOS). Ejecutar doxygen generará el doc del Directorio de Documentación que contiene tanto la documentación HTML como la de látex.
Se puede acceder al archivo de documentación HTML abriendo doc/html/index.html con el navegador de su elección. Para generar un archivo PDF de la documentación, ejecute
latexmk -pdf refman.tex Desde el directorio doc/latex o compile el archivo doc/latex/refman.tex con su compilador de látex. Esto creará el archivo de documentación doc/latex/refman.pdf . Consulte su manual de látex favorito sobre cómo compilar/construir archivos de látex bajo su sistema operativo específico.
Pyqpp es un envoltorio Python 3 para Quantum ++ . pyqpp requires the same dependencies as Quantum++ , and can be installed using pip
pip install git+https://github.com/softwareQinc/qppPara obtener más detalles, consulte Pyqpp/Readme.md.