O dilema implementa um solucionador de otimização para controle quântico aberto e fechado. O modelo de dinâmica quântica subjacente Sistemas Quânticos abertos ou fechados, usando a equação de Schroedinger para um vetor de estado (fechado) ou a equação mestre de Lindblad para uma matriz de densidade (aberta). O problema de controle tem como objetivo encontrar pulsos de controle que levam o sistema a um alvo desejado, como um operador de solução unitário alvo ou a um estado -alvo predefinido. A Qudary tem como alvo a implantação em plataformas de computação de alto desempenho, oferecendo vários níveis para paralelização usando o paradigma que passa da mensagem.
É aconselhável examinar o Guia do Usuário em doc/ , descrevendo os modelos matemáticos subjacentes, sua implementação e uso em dilema.
Sinta -se à vontade para entrar em contato com Stefanie Guenther [[email protected]] para qualquer pergunta que você possa ter.
Este projeto depende do PETSC [https://petsc.org/release/] para manipular álgebra linear (paralela). Opcionalmente Slepsc [https://slepc.upv.es] pode ser usado para resolver alguns problemas de valor próprio, se desejado (por exemplo, para o Hessian ...)
Necessário: Instale o PETSC:
Confira [https://petsc.org/release/] para obter o mais recente guia de instalação. No MacOS, você também pode brew install petsc . Como um início rápido, você também pode tentar o abaixo:
tar -xf petsc-<version>.tar.gzcd petsc-<version>./configure . Verifique [https://petsc.org/release/install/install_tutorial] para argumentos opcionais. Por exemplo, ./configure --prefix=/YOUR/INSTALL/DIR --with-debugging=0 --with-fc=0 --with-cxx=mpicxx --with-cc=mpicc COPTFLAGS='-O3' CXXOPTFLAGS='-O3'./configure relata como definir as variáveis PETSC_DIR e 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: instale o Slepsc
O PETC já está instalado nas máquinas LLNL LC, veja aqui [https://hpc.llnl.gov/software/mathematical-seftware/petsc]. Está localizado em '/usr/tce/packages/petsc/'. Para usá -lo, exporte a variável 'petsc_dir' para apontar para a pasta PetSC e adicione a subpasta 'lib' à variável 'ld_library_path`:
export PETSC_DIR=/usr/tce/packages/petsc/<version> (verifique o nome da pasta para o número da versão)export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$PETSC_DIR/libA variável 'petsc_arch' não é necessária neste caso.
Dependendo da sua configuração, pode ser necessário carregar alguns módulos adicionais, como o OpenMPI, por exemplo, como assim:
module load openmpiAdapte o início do 'Makefile' para definir o caminho para a instalação do PETSC (e possivelmente SlepSC, Python Path e Fitpackpp), se não for exportado. Então,
make cleanup para limpar o diretório de construção. (Observe o up na limpeza .)make quandary para construir o código (ou 'make -j qumary' para uma construção mais rápida usando vários threads) É aconselhado adicionar dilema ao seu PATH , por exemplo
export PATH=$PATH:/path/to/quandary/ Opcional: para executar o dilema a partir de um ambiente Python, você deve ter um intérprete de Python em funcionamento com o Numpy e o Matplotlib instalado. Em seguida, anexar a localização de Qudary ao seu PYTHONPATH , por exemplo, com
export PYTHONPATH=$PYTHONPATH:/path/to/quandary/ e dar uma olhada nos exemplos. O código se transforma no quandary executável. É preciso que um argumento seja o nome do arquivo de configuração do caso de teste. O arquivo config_template.cfg , lista todas as opções de configuração possíveis. O arquivo de configuração é preenchido com comentários que devem ajudar os usuários a configurar seu caso de teste e corresponder às opções com a descrição no guia do usuário. Compare também a pasta Exemplos.
./quandary config_template.cfgmpirun -np 4 ./quandary config_template.cfg --quietQudary é um projeto de código aberto que está sob desenvolvimento pesado. As contribuições de todas as formas são muito bem -vindas e podem ser qualquer coisa, desde novos recursos a bugs, documentação ou até discussões. Contribuir é fácil, trabalhe em sua filial, crie uma solicitação de tração para dominar quando estiver pronto para ir e os testes de regressão nos testes/'.
O Qudary é distribuído sob os termos da licença do MIT. Todas as novas contribuições devem ser feitas sob esta licença. Veja a licença e observe, para obter detalhes.
SPDX-LICense-Identificador: MIT