Quandaire met en œuvre un solveur d'optimisation pour un contrôle quantique optimal ouvert et fermé. Le modèle de dynamique quantique sous-jacent ouvert ou fermé des systèmes quantiques, en utilisant l'équation de Schroedinger pour un vecteur d'état (fermé), ou l'équation maître Lindblad pour une matrice de densité (ouverte). Le problème de contrôle vise à trouver des impulsions de contrôle qui conduisent le système à une cible souhaitée, comme un opérateur de solution unitaire cible ou à un état cible prédéfini. Le dilemme cible le déploiement sur les plates-formes informatiques haute performance, offrant différents niveaux de parallélisation en utilisant le paradigme de passage du message.
Il est conseillé d'examiner le guide de l'utilisateur dans doc/ , décrivant les modèles mathématiques sous-jacents, leur implémentation et leur utilisation dans le dilemme.
N'hésitez pas à contacter Stefanie Guenther [[email protected]] pour toute question que vous pourriez avoir.
Ce projet repose sur PETSC [https://petsc.org/release/] pour gérer l'algèbre linéaire (parallèle). Éventuellement slepsc [https://slepc.upv.es] peut être utilisé pour résoudre certains problèmes de valeur propre si vous le souhaitez (par exemple pour la Hesse ...)
Obligatoire: Installez PETSC:
Consultez [https://petsc.org/release/] pour le dernier guide d'installation. Sur MacOS, vous pouvez également brew install petsc . Pour commencer rapidement, vous pouvez également essayer ce qui est ci-dessous:
tar -xf petsc-<version>.tar.gzcd petsc-<version>./configure . Veuillez vérifier [https://petsc.org/release/install/install_tutorial] pour les arguments facultatifs. Par exemple, ./configure --prefix=/YOUR/INSTALL/DIR --with-debugging=0 --with-fc=0 --with-cxx=mpicxx --with-cc=mpicc COPTFLAGS='-O3' CXXOPTFLAGS='-O3'./configure Rapports sur la façon de définir les variables PETSC_DIR et 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/libFacultatif: installer SLEPSC
PETC est déjà installé sur les machines LLNL LC, voir ici [https://hpc.llnl.gov/software/mathematical-software/petsc]. Il est situé sur '/ usr / tce / packages / PETSC /'. Pour l'utiliser, exportez la variable 'PETSC_DIR' pour pointer vers le dossier PETSC et ajoutez le sous-dossier 'lib' à la variable 'ld_library_path':
export PETSC_DIR=/usr/tce/packages/petsc/<version> (Vérifiez le nom du dossier pour le numéro de version)export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PETSC_DIR/libLa variable 'PETSC_ARCH' n'est pas nécessaire dans ce cas.
Selon votre configuration, vous devrez peut-être charger des modules supplémentaires, tels que OpenMPI, par exemple, en As:
module load openmpiAdaptez le début du «MakeFile» pour définir le chemin de la trajectoire vers l'installation de votre PETSC (et peut-être SLePSC, Python Path et FitPackpp), si elle n'est pas exportée. Alors,
make cleanup pour nettoyer le répertoire de construction. (Remarquez le nettoyage . )make quandary du dilem Il est conseillé d'ajouter le dilemme à votre PATH , par exemple
export PATH=$PATH:/path/to/quandary/ Facultatif: Pour exécuter le dilemme à partir d'un environnement Python, vous devriez avoir un interprète Python fonctionnel avec Numpy et Matplotlib installé. Ensuite, ajoutez l'emplacement du dilemme sur votre PYTHONPATH , par exemple avec
export PYTHONPATH=$PYTHONPATH:/path/to/quandary/ et jetez un œil aux exemples. Le code s'accumule dans le quandary exécutable. Il faut un argument étant le nom du fichier de configuration de la cas de test. Le fichier config_template.cfg , répertorie toutes les options de configuration possibles. Le fichier de configuration est rempli de commentaires qui devraient aider les utilisateurs à configurer leur cas de test et à correspondre aux options à la description du guide de l'utilisateur. Comparez également le dossier Exemples.
./quandary config_template.cfgmpirun -np 4 ./quandary config_template.cfg --quietQuandary est un projet open source qui est en cours de développement intense. Les contributions dans toutes les formes sont les bienvenues et peuvent être tout, des nouvelles fonctionnalités aux fiduciaires, de la documentation ou même des discussions. La contribution est facile, travaillez sur votre succursale, créez une demande de traction pour maîtriser lorsque vous êtes prêt à partir et les tests de régression dans 'Tests /' passer.
Le dilemme est distribué en vertu des termes de la licence du MIT. Toutes les nouvelles contributions doivent être faites sous cette licence. Voir la licence et le préavis, pour plus de détails.
Identificateur de licence SPDX: MIT