Instalação da Biblioteca de QuímicaChemistry Library Installation

A amostra molecular de hidrogénio usa dados de entrada molecular que são configurados manualmente.The MolecularHydrogen sample uses molecular input data that is manually configured. Embora isto seja bom para pequenos exemplos, a química quântica em escala requer hamiltonianos com milhões ou biliões de termos.While this is fine for small examples, quantum chemistry at scale requires Hamiltonians with millions or billions of terms. Estes hamiltonianos, gerados por pacotes de química computacional escalável, são demasiado grandes para serem importados à mão.Such Hamiltonians, generated by scalable computational chemistry packages, are too large to import by hand.

A biblioteca de química quântica para o Kit de Desenvolvimento Quântico foi projetada para funcionar bem com pacotes de química computacional, mais notavelmente a plataforma de química computacional NWChem desenvolvida pelo Laboratório de Ciências Moleculares Ambientais (EMSL) do Pacific Northwest National Laboratory.The quantum chemistry library for the Quantum Development Kit is designed to work well with computational chemistry packages, most notably the NWChem computational chemistry platform developed by the Environmental Molecular Sciences Laboratory (EMSL) at Pacific Northwest National Laboratory. Em particular, o pacote Microsoft.Quantum.Chemistry fornece ferramentas para carregar casos de problemas de simulação de química quântica representados no esquema de Broombridge, também suportado para exportação por versões recentes da NWChem.In particular, the Microsoft.Quantum.Chemistry package provides tools for loading instances of quantum chemistry simulation problems represented in the Broombridge schema, also supported for export by recent versions of NWChem.

A biblioteca de química do Kit de Desenvolvimento Quântico também fornece uma ferramenta de linha de comando, qdk-chem para converter entre formatos legados e Broombridge.The Quantum Development Kit chemistry library also provides a command-line tool, qdk-chem, for converting between legacy formats and Broombridge.

Esta secção detalha como usar o Kit de Desenvolvimento Quântico com NWChem e Broombridge, ou formatos legados e qdk-chem .This section details how to use the Quantum Development Kit with either NWChem and Broombridge, or legacy formats and qdk-chem.

Usando o Kit de Desenvolvimento Quântico com NWChemUsing the Quantum Development Kit with NWChem

Para se levantar e funcionar usando o NWChem juntamente com o Kit de Desenvolvimento Quântico, utilize um dos seguintes métodos:To get up and running using NWChem together with the Quantum Development Kit, use one of the following methods:

Consulte end-to-end com a NWChem para obter mais informações sobre como trabalhar com a NWChem para modelos químicos para analisar com a biblioteca de química Quantum Developmen Kit.See End-to-end with NWChem for more information on how to work with NWChem to chemical models to analyze with the Quantum Developmen Kit chemistry library.

Começar a usar ficheiros broombridge fornecidos com as amostrasGetting started using Broombridge files provided with the samples

A pasta IntegralData/YAML no repositório de amostras de kit de desenvolvimento quântico contém ficheiros de dados de moléculas formatados por Broombridge.The IntegralData/YAML folder in the Quantum Development Kit Samples repository contains Broombridge-formated molecule data files.

Como um exemplo simples, use a amostra da biblioteca de química, GetGateCount para carregar o Hamiltonian de um dos ficheiros de Broombridge e executar estimativas de porta de algorítmicos de simulação quântica:As a simple example, use the chemistry library sample, GetGateCount to load the Hamiltonian from one of Broombridge files and perform gate estimates of quantum simulation algorigthms:

cd Quantum/Chemistry/GetGateCount
dotnet run -- --path=../IntegralData/YAML/h2.yaml --format=YAML

Consulte carregar um Hamiltonian do ficheiro para obter mais informações sobre como inserir moléculas representadas pelo esquema de Broombridge.See Loading a Hamiltonian from file for more information on how to input molecules represented by the Broombridge schema.

Consulte a obtenção de contagens de recursos para obter mais informações sobre a estimativa de recursos.See Obtaining resource counts for more information on resource estimation.

Começar a usar o construtor de setas EMSLGetting started using the EMSL Arrows Builder

EmSL Arrows é uma ferramenta que usa bases de dados computacionais e químicos para gerar dados de moléculas.EMSL Arrows is a tool that uses NWChem and chemical computational databases to generate molecule data. O Construtor de Setas EMSL para o Kit de Desenvolvimento Quântico da Microsoft permite-lhe introduzir o seu modelo utilizando vários construtores de modelos moleculares e gerar o ficheiro de dados de Broombridge para ser utilizado pelo Kit de Desenvolvimento Quântico.EMSL Arrows Builder for the Microsoft Quantum Development Kit allows you to enter your model using multiple molecular model builders and generate the Broombridge datafile to be used by the Quantum Development Kit.

Na página EMSL, clique no separador ['Instuctions'] e siga as instruções ['Exemplos simples] para gerar ficheiros Broombridge.From the EMSL page, click on the ['Instuctions'] tab, and follow the ['Simple Examples'] instructions to generate Broombridge files. Em seguida, tente executar o ['GetGateCount'] para ver as estimativas de recursos quânticos para estas moléculas.Then try running the ['GetGateCount'] to see the quantum resource estimates for these molecules.

Instalação NWChem da SourceInstalling NWChem from Source

As instruções completas sobre como instalar o NWChem a partir da fonte são fornecidas pela PNNL.Full instructions on how to install NWChem from source are provided by PNNL.

Dica

Se desejar utilizar o NWChem do Windows 10, o Subsistema Windows para Linux é uma excelente opção.If you wish to use NWChem from Windows 10, the Windows Subsystem for Linux is a great option. Depois de ter instalado Ubuntu 18.04 LTS para Windows,corra ubuntu18.04 a partir do seu terminal favorito e siga as instruções acima para instalar o NWChem a partir da fonte.Once you have installed Ubuntu 18.04 LTS for Windows, run ubuntu18.04 from your favorite terminal and follow the instructions above to install NWChem from source.

Uma vez compilado o NWChem a partir da fonte, pode executar o yaml_driver script fornecido com a NWChem para produzir rapidamente instâncias de Broombridge a partir de decks de entrada NWChem:Once you have compiled NWChem from source, you can run the yaml_driver script provided with NWChem to quickly produce Broombridge instances from NWChem input decks:

$NWCHEM_TOP/contrib/quasar/yaml_driver input.nw

Este comando criará um novo input.yaml ficheiro no formato Broombridge dentro do seu diretório atual.This command will create a new input.yaml file in the Broombridge format within your current directory.

Usando NWChem com DockerUsing NWChem with Docker

As imagens pré-construídas para a utilização do NWChem estão disponíveis através de Docker Hub.Pre-built images for using NWChem are available cross-platform via Docker Hub. Para começar, siga as instruções de instalação do Docker para a sua plataforma:To get started, follow the Docker installation instructions for your platform:

Dica

Se estiver a utilizar o Docker para o Windows, terá de partilhar a unidade que contém o seu diretório temporário (normalmente esta é a C:\ unidade) com o daemon Domon Do Docker.If you are using Docker for Windows, you will need to share the drive containing your temporary directory (usually this is the C:\ drive) with the Docker daemon. Consulte a documentação do Docker para mais detalhes.See the Docker documentation for more details.

Uma vez instalado o Docker, pode utilizar o módulo PowerShell fornecido com as amostras do Kit de Desenvolvimento Quântico para executar a imagem, ou pode executar a imagem manualmente.Once you have Docker installed, you can either use the PowerShell module provided with the Quantum Development Kit samples to run the image, or you can run the image manually. Detalhamos a utilização do PowerShell aqui; se quiser utilizar a imagem do Docker manualmente, consulte a documentação fornecida com a imagem.We detail using PowerShell here; if you would like to use the Docker image manually, please see the documentation provided with the image.

Executando NWChem através do PowerShell CoreRunning NWChem through PowerShell Core

Para utilizar a imagem do NWChem Docker com o Kit de Desenvolvimento Quântico, fornecemos um pequeno módulo PowerShell que lida com ficheiros móveis dentro e fora da NWChem para si.To use the NWChem Docker image with the Quantum Development Kit, we provide a small PowerShell module that handles moving files in and out of NWChem for you. Se ainda não tiver o PowerShell Core instalado, pode descarregá-lo na plataforma transversal do repositório PowerShell no GitHub.If you don't already have PowerShell Core installed, you can download it cross-platform from the PowerShell repository on GitHub.

Nota

PowerShell Core também é usado para algumas amostras para demonstrar interoperabilidade com data science e fluxos de trabalho de análise de negócios.PowerShell Core is also used for some samples to demonstrate interoperability with data science and business analytics workflows.

Uma vez instalado o PowerShell Core, importe InvokeNWChem.psm1 para disponibilizar os comandos NWChem na sua sessão atual:Once you have PowerShell Core installed, import InvokeNWChem.psm1 to make NWChem commands available in your current session:

cd Quantum/utilities/
Import-Module ./InvokeNWChem.psm1

Isto tornará o Convert-NWChemToBroombridge comando disponível na sua sessão atual do PowerShell.This will make the Convert-NWChemToBroombridge command available in your current PowerShell session. Para descarregar as imagens necessárias do Docker e usá-las para executar decks de entrada NWChem e capturar saída para Broombridge, execute o seguinte:To download any needed images from Docker and use them to run NWChem input decks and capture output to Broombridge, run the following:

Convert-NWChemToBroombridge ./input.nw

Isto criará um ficheiro Broombridge executando o NWChem em input.nw .This will create a Broombridge file by running NWChem on input.nw. Por predefinição, a saída de Broombridge terá o mesmo nome e caminho que o convés de entrada, com a .nw extensão substituída por .yaml .By default, the Broombridge output will have the same name and path as the input deck, with the .nw extension replaced by .yaml. Isto pode ser ultrapassado utilizando o -DestinationPath parâmetro para Convert-NWChemToBroombridge .This can be overridden by using the -DestinationPath parameter to Convert-NWChemToBroombridge. Mais informações podem ser obtidas utilizando a funcionalidade de ajuda incorporada da PowerShell:More information can be obtained by using PowerShell's built-in help functionality:

Convert-NWChemToBroombridge -?
Get-Help Convert-NWChemToBroombridge -Full

Usando o Kit de Desenvolvimento Quântico com qdk-chemUsing the Quantum Development Kit with qdk-chem

Para qdk-chem instalar, pode utilizar o .NET Core SDK na linha de comando:To install qdk-chem, you can use the .NET Core SDK at the command line:

dotnet tool install --global Microsoft.Quantum.Chemistry.Tools

Uma vez qdk-chem instalado, pode utilizar a --help opção para obter mais detalhes sobre a funcionalidade oferecida pela qdk-chem ferramenta.Once you have installed qdk-chem, you can use the --help option to get more details about the functionality offered by the qdk-chem tool.

Para converter de e para Broombridge, pode usar o qdk-chem convert comando:To convert to and from Broombridge, you can use the qdk-chem convert command:

qdk-chem convert --from fcidump --to broombridge data.fcidump --out data.yml

O qdk-chem convert comando também pode aceitar os seus dados a partir da entrada padrão, e pode escrever para a saída padrão; isso é especialmente útil dentro dos scripts e para integrar-se com ferramentas que exportam para formatos antigos.The qdk-chem convert command can also accept its data from standard input, and can write to standard output; this is especially useful within scripts and for integrating with tools that export to legacy formats. Por exemplo, no Bash:For example, in Bash:

cat data.fcidump | qdk-convert --from fcidump --to broombridge - > data.yml