El dilema implementa un solucionador de optimización para el control cuántico óptimo abierto y cerrado. El modelo cuántico de dinámica cuántica subyacente los sistemas cuánticos abiertos o cerrados, utilizando la ecuación de Schroedinger para un vector de estado (cerrado) o la ecuación maestra de Lindblad para una matriz de densidad (Open). El problema de control tiene como objetivo encontrar pulsos de control que impulsen el sistema a un objetivo deseado, como un operador de solución unitaria objetivo o a un estado objetivo predefinido. El despliegue del dilema de la implementación en plataformas informáticas de alto rendimiento, ofreciendo varios niveles para la paralelización utilizando el paradigma de aprobación de mensajes.
Se recomienda observar la guía del usuario en doc/ , describiendo los modelos matemáticos subyacentes, su implementación y uso en el dilema.
No dude en comunicarse con Stefanie Guenther [[email protected]] para cualquier pregunta que pueda tener.
Este proyecto se basa en PETSC [https://petsc.org/release/] para manejar el álgebra lineal (paralelo). Opcionalmente, SLEPSC [https://slepc.upv.es] se puede usar para resolver algunos problemas de valor propio si lo desea (por ejemplo, para el hessian ...)
Requerido: instalar PETSC:
Echa un vistazo [https://petsc.org/release/] para ver la última guía de instalación. En MacOS, también puede brew install petsc . Como comienzo rápido, también puede probar el siguiente:
tar -xf petsc-<version>.tar.gzcd petsc-<version>./configure . Verifique [https://petsc.org/release/install/install_tutorial] para obtener argumentos opcionales. Por ejemplo, ./configure --prefix=/YOUR/INSTALL/DIR --with-debugging=0 --with-fc=0 --with-cxx=mpicxx --with-cc=mpicc COPTFLAGS='-O3' CXXOPTFLAGS='-O3'./configure informa sobre cómo establecer las variables PETSC_DIR y PETSC_ARCHexport PETSC_DIR=/YOUR/INSTALL/DIRexport PETSC_ARCH=/YOUR/ARCH/PREFIXLD_LIBRARY_PATH :export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PETSC_DIR/$PETSC_ARCH/libOpcional: instalar SLEPSC
PETC ya está instalado en máquinas LLNL LC, ver aquí [https://hpc.llnl.gov/software/mathematical-software/petsc]. Se encuentra en '/usr/tce/paquetes/Petsc/'. Para usarlo, exporte la variable 'PETSC_DIR' para apuntar a la carpeta PETSC y agregue la subcarpeta 'lib' a la variable 'ld_library_path`:
export PETSC_DIR=/usr/tce/packages/petsc/<version> > (verifique el nombre de la carpeta para el número de versión)export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PETSC_DIR/libLa variable 'PETSC_ARCH' no es necesaria en este caso.
Dependiendo de su configuración, es posible que deba cargar algunos módulos adicionales, como OpenMPI, por ejemplo, así:
module load openmpiAdapte el comienzo del 'MakeFile' para establecer la ruta a su instalación PETSC (y posiblemente SLEPSC, Python Rath y FitPackpp), si no se exporta. Entonces,
make cleanup para limpiar el directorio de compilación. (Tenga en cuenta el UP en limpieza ).make quandary para construir el código (o 'hacer -j diluyente' para una compilación más rápida usando múltiples hilos) Se recomienda agregar diluyente a su PATH , por ejemplo,
export PATH=$PATH:/path/to/quandary/ Opcional: para ejecutar el dilema desde un entorno de Python, debe tener un intérprete de Python que funcione con Numpy y Matplotlib instalado. Luego, agregue la ubicación de QuANDARY a su PYTHONPATH , por ejemplo, con
export PYTHONPATH=$PYTHONPATH:/path/to/quandary/ y eche un vistazo a los ejemplos. El código se basa en el quandary ejecutable. Se necesita un argumento el nombre del archivo de configuración del caso de prueba. El archivo config_template.cfg , enumera todas las opciones de configuración posibles. El archivo de configuración está lleno de comentarios que deberían ayudar a los usuarios a configurar su caso de prueba y hacer coincidir las opciones con la descripción en la guía del usuario. Compare también la carpeta de ejemplos.
./quandary config_template.cfgmpirun -np 4 ./quandary config_template.cfg --quietQuandar es un proyecto de código abierto que está bajo un gran desarrollo. Las contribuciones en todas las formas son muy bienvenidas y pueden ser cualquier cosa, desde nuevas características hasta correcciones de errores, documentación o incluso discusiones. Contribuir es fácil, trabaje en su sucursal, cree una solicitud de extracción para dominar cuando sea bueno y las pruebas de regresión en 'pruebas/' pase.
Quandar se distribuye bajo los términos de la licencia MIT. Todas las nuevas contribuciones deben hacerse bajo esta licencia. Consulte la licencia y aviso, para más detalles.
Identificador SPDX-license: MIT