Especificação de Broombridge v0.2Broombridge Specification v0.2

As palavras-chave "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHOULD", "SHOULD", "SHOULD", "RECOMMENDED", "MAY" e "OPTIONAL" neste documento devem ser interpretadas como descrito no RFC 2119.The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119.

Qualquer barra lateral com os títulos "NOTA", "INFORMAÇÃO" ou "AVISO" é informativa.Any sidebar with the headings "NOTE," "INFORMATION," or "WARNING" is informative.

IntroduçãoIntroduction

Esta secção é informativa.This section is informative.

Os documentos de Broombridge destinam-se a comunicar casos de problemas de simulação na química quântica para processamento utilizando simulação quântica e cabos de ferramentas de programação.Broombridge documents are intended to communicate instances of simulation problems in quantum chemistry for processing using quantum simulation and programming toolchains.

SerializaçãoSerialization

Esta secção é normativa.This section is normative.

Um documento de Broombridge DEVE ser serializado como um documento YAML 1.2 que representa um objeto JSON, conforme descrito na secção RFC 4627 2.2.A Broombridge document MUST be serialized as a YAML 1.2 document representing a JSON object as described in RFC 4627 section 2.2. O objeto serializado para YAML MUST tem um "$schema" imóvel cujo valor é "https://raw.githubusercontent.com/Microsoft/Quantum/master/Chemistry/Schema/qchem-0.2.schema.json" , e DEVE ser válido de acordo com as especificações do projecto-06 do JSON Schema [1, 2].The object serialized to YAML MUST have a property "$schema" whose value is "https://raw.githubusercontent.com/Microsoft/Quantum/master/Chemistry/Schema/qchem-0.2.schema.json", and MUST be valid according to the JSON Schema draft-06 specifications [1, 2].

Para o restante desta especificação, "o objeto Broombridge" refere-se ao objeto JSON desseserializado a partir de um documento YAML de Broombridge.For the remainder of this specification, "the Broombridge object" will refer to the JSON object deserialized from a Broombridge YAML document.

Salvo indicação em contrário, os objetos NÃO DEVEM ter propriedades adicionais para além das especificadas explicitamente neste documento.Unless otherwise explicitly noted, objects MUST NOT have additional properties beyond those specified explicitly in this document.

Definições AdicionaisAdditional Definitions

Esta secção é normativa.This section is normative.

Objetos de quantidadeQuantity Objects

Esta secção é normativa.This section is normative.

Um objeto de quantidade é um objeto JSON, e DEVE ter uma propriedade cujo valor é um dos units valores permitidos listados na Tabela 1.A quantity object is a JSON object, and MUST have a property units whose value is one of the allowed values listed in Table 1.

Um objeto de quantidade é um objeto de quantidade simples se tiver uma única propriedade value além da sua units propriedade.A quantity object is a simple quantity object if it has a single property value in addition to its units property. O valor do value imóvel DEVE ser um número.The value of the value property MUST be a number.

Um objeto de quantidade é um objeto de quantidade limitado se tiver as propriedades e lower upper além da sua units propriedade.A quantity object is a bounded quantity object if it has the properties lower and upper in addition to its units property. Os valores do lower e propriedades DEVEM ser upper números.The values of the lower and upper properties MUST be numbers. Um objeto de quantidade limitado pode ter uma propriedade value cujo valor é um número.A bounded quantity object MAY have a property value whose value is a number.

Um objeto de quantidade é um objeto de quantidade de matriz escassa se tiver a propriedade e uma propriedade format values além da sua units propriedade.A quantity object is a sparse array quantity object if it has the property format and a property values in addition to its units property. O valor de format MUST é a sparse corda.The value of format MUST be the string sparse. O valor do values imóvel DEVE ser um conjunto.The value of the values property MUST be an array. Cada elemento de values MUST é uma matriz que representa os índices e o valor da quantidade de matriz escassa.Each element of values MUST be an array representing the indices and value of the sparse array quantity.

Os índices para cada elemento de um objeto de quantidade de matriz escassa DEVEM ser únicos em todo o objeto de quantidade de matriz escassa.The indices for each element of a sparse array quantity object MUST be unique across the entire sparse array quantity object. Se um índice estiver presente com um valor de 0 , um parser MUST tratar o objeto de quantidade de matriz escassa de forma idêntica a um objeto de quantidade de matriz escasso no qual esse índice não esteja presente.If an index is present with a value of 0, a parser MUST treat the sparse array quantity object identically to a sparse array quantity object in which that index is not present at all.

Um objeto de quantidade DEVE serA quantity object MUST either be

  • um simples objeto de quantidade,a simple quantity object,
  • um objeto de quantidade limitado, oua bounded quantity object, or
  • um objeto de quantidade de matriz escassa.a sparse array quantity object.

ExemplosExamples

Esta secção é informativa.This section is informative.

Uma quantidade simples representando $1.9844146837 , \mathrm{Ha}$:A simple quantity representing $1.9844146837,\mathrm{Ha}$:

coulomb_repulsion:
    value: 1.9844146837
    units: hartree

Uma quantidade limitada que representa uma distribuição uniforme durante o intervalo $[-7, -6] , \mathrm{Ha}$:A bounded quantity representing a uniform distribution over the interval $[-7, -6],\mathrm{Ha}$:

fci_energy:
    upper: -6
    lower: -7
    units: hartree

Segue-se uma quantidade de matriz escassa com um elemento [1, 2] igual e um elemento igual hello [3, 4] world a:The following is a sparse array quantity with an element [1, 2] equal to hello and an element [3, 4] equal to world:

sparse_example:
    format: sparse
    units: hartree
    values:
    - [1, 2, "hello"]
    - [3, 4, "world"]

Secção de FormatoFormat Section

Esta secção é normativa.This section is normative.

O objeto Broombridge DEVE ter uma propriedade format cujo valor é um objeto JSON com uma propriedade chamada version .The Broombridge object MUST have a property format whose value is a JSON object with one property called version. O version imóvel DEVE ter o "0.2" valor.The version property MUST have the value "0.2".

ExemploExample

Esta secção é informativa.This section is informative.

format:                        # required
    version: "0.2"             # must match exactly

Secção de Descrição de ProblemasProblem Description Section

Esta secção é normativa.This section is normative.

O objeto Broombridge DEVE ter uma propriedade problem_description cujo valor é uma matriz JSON.The Broombridge object MUST have a property problem_description whose value is a JSON array. Cada item no valor da problem_description propriedade DEVE ser um objeto JSON descrevendo um conjunto de integrais, conforme descrito no restante desta secção.Each item in the value of the problem_description property MUST be a JSON object describing one set of integrals, as described in the remainder of this section. No restante desta secção, o termo "objeto de descrição de problemas" refere-se a um item no valor da problem_description propriedade do objeto Broombridge.In the remainder of this section, the term "problem description object" will refer to an item in the value of the problem_description property of the Broombridge object.

Cada objeto de descrição de problemas DEVE ter uma propriedade metadata cujo valor é um objeto JSON.Each problem description object MUST have a property metadata whose value is a JSON object. O valor de metadata MAIO é o objeto JSON vazio (isto é, ) ou MAY contém propriedades {} adicionais definidas pelo implementor.The value of metadata MAY be the empty JSON object (that is, {}), or MAY contain additional properties defined by the implementor.

Secção HamiltonianaHamiltonian Section

Descrição GeralOverview

Esta secção é informativa.This section is informative.

A hamiltonian propriedade de cada objeto de descrição de problemas descreve o Hamiltonian para um problema particular de química quântica, enumerando os seus termos de um e dois corpos como conjuntos escassos de números reais.The hamiltonian property of each problem description object describes the Hamiltonian for a particular quantum chemistry problem by listing out its one- and two-body terms as sparse arrays of real numbers. Os operadores hamiltonianos descritos por cada objeto de descrição de problemas tomar o formulárioThe Hamiltonian operators described by each problem description object take the form

$$ H = \sum _ { i,j } \sum _ {\sigma\in \ {\uparrow,\downarrow \ }} h _ { ij } { a^ \dagger } _ {i,\sigma} a _ {j,\sigma} + \frac {1} {2} \frac \sum _ { i,j,k,l } \sum _ {\sigma,\rho\in \ {\uparrow,\downarrow \ }} h _ {ijkl} a^\dagger _ {i,\sigma} a^\dagger _ {k,\rho} a _ {l,\rho} a _ {j,\sigma}, $$$$ H = \sum_{i,j}\sum_{\sigma\in\{\uparrow,\downarrow\}} h_{ij} a^{\dagger}_{i,\sigma} a_{j,\sigma} + \frac{1}{2}\sum_{i,j,k,l}\sum_{\sigma,\rho\in\{\uparrow,\downarrow\}} h_{ijkl} a^\dagger_{i,\sigma} a^\dagger_{k,\rho} a_{l,\rho} a_{j,\sigma}, $$

aqui $h_{ijkl}= (ij/kl)$ na convenção de Mulliken.here $h_{ijkl}= (ij|kl)$ in Mulliken convention.

Para clareza, o termo de um eletrão éFor clarity, the one-electron term is

$$ h_{ij} = \int {\mathrm d}x \psi^* _ i(x) \esquerda \frac {1} {2} \nabla^2 + \soma _ {A}frac{Z _ A}{x-x _ A[} \direita) \psi _ j(x), $$$$ h_{ij} = \int {\mathrm d}x \psi^*_i(x) \left(\frac{1}{2}\nabla^2 + \sum_{A}\frac{Z_A}{|x-x_A|} \right) \psi_j(x), $$

e o termo de dois eletrões éand the two-electron term is

$$ h _ { ijkl } = \iint { \mathrm d } x^2 \psi^ { * } _ i(x _ 1)\psi _ j(x _ 1) \frac { 1 } { | x _ _ 1 -2 | } \psi _ k^ { * } (x _ 2) \psi _ l(x _ 2).$$ h_{ijkl} = \iint {\mathrm d}x^2 \psi^{*}_i(x_1)\psi_j(x_1) \frac{1}{|x_1 -x_2|}\psi_k^{*}(x_2) \psi_l(x_2). $$

Como indicado na nossa descrição da basis_set propriedade de cada elemento do integral_sets imóvel, assumimos explicitamente que as funções de base utilizadas são de valor real.As noted in our description of the basis_set property of each element of the integral_sets property, we further explicitly assume that the basis functions used are real-valued. Isto permite-nos usar as seguintes assimetrias entre os termos para comprimir a representação do Hamiltonian.This allows us to use the following symmetries between the terms to compress the representation of the Hamiltonian.

$$ h_{ijkl} = h_{ijlk}=h_{jikl}=h_{jilk}=h_{klij}=h_{klji}=h_{lkij}=h_{lkji}.$$ h_{ijkl} = h_{ijlk}=h_{jikl}=h_{jilk}=h_{klij}=h_{klji}=h_{lkij}=h_{lkji}. $$

ConteúdosContents

Esta secção é normativa.This section is normative.

Cada objeto de descrição de problemas DEVE ter uma propriedade hamiltonian cujo valor é um objeto JSON.Each problem description object MUST have a property hamiltonian whose value is a JSON object. O valor da hamiltonian propriedade é conhecido como um objeto hamiltoniano, e DEVE ter as propriedades e como descrito no restante desta one_electron_integrals two_electron_integrals secção.The value of the hamiltonian property is known as a Hamiltonian object, and MUST have the properties one_electron_integrals and two_electron_integrals as described in the remainder of this section.

Cada objeto de descrição de problemas DEVE ter uma propriedade coulomb_repulsion cujo valor é um objeto de quantidade simples.Each problem description object MUST have a property coulomb_repulsion whose value is a simple quantity object. Cada objeto de descrição de problemas DEVE ter uma propriedade energy_offet cujo valor é um objeto de quantidade simples.Each problem description object MUST have a property energy_offet whose value is a simple quantity object.

[NOTA] Os valores coulomb_repulsion de e energy_offet juntos captam o termo de identidade do Hamiltonian.[NOTE] The values of coulomb_repulsion and energy_offet added together capture the identity term of the Hamiltonian.

Objeto integral de um eletrãoOne-Electron Integrals Object

Esta secção é normativa.This section is normative.

A one_electron_integrals propriedade do objeto Hamiltonian DEVE ser uma quantidade escassa de matriz cujos índices são dois inteiros e cujos valores são números.The one_electron_integrals property of the Hamiltonian object MUST be a sparse array quantity whose indices are two integers and whose values are numbers. Todos os termos devem ter índices [i, j] onde i >= j .Every term MUST have indices [i, j] where i >= j.

[NOTA] Isto reflete a simetria que $h_{ij} = h_{ji}$ o que é uma consequência do facto de o Hamiltonian ser hermitiano.[NOTE] This reflects the symmetry that $h_{ij} = h_{ji}$ which is a consequence of the fact that the Hamiltonian is Hermitian.

ExemploExample

Esta secção é informativa.This section is informative.

A quantidade de matriz escassa que se segue representa o Hamiltonian $$ H = \esquerda (-5,0 (a^ { \dagger } _ {1,\uparrow} a _ {1,\uparrow}+a^ { \dagger } _ {1,\downarrow} a _ {1,\downarrow}+ 0,17 (a^ { \agger } _ {2,uparrow arow a arow a arow a arow a a{1\uparrow arow a a{2,uparrow arow a arow a a{2,uparrow arow a arow a arow a*downrow a a{1,\downarrow} _ {1,\uparrow}+ a^ { \dagger } _ {1,\uparrow} a _ {2,\uparrow}+a^ { \dagger } _ {2,\downarrow} a _ {1,\downarrow}+ a^ { \dagger } _ {1,\downarrow} a _ {2,\downarrow})\right) \ \mathrm{Ha}.The following sparse array quantity represents the Hamiltonian $$ H = \left(-5.0 (a^{\dagger}_{1,\uparrow} a_{1,\uparrow}+a^{\dagger}_{1,\downarrow} a_{1,\downarrow})+ 0.17 (a^{\dagger}_{2,\uparrow} a_{1,\uparrow}+ a^{\dagger}_{1,\uparrow} a_{2,\uparrow}+a^{\dagger}_{2,\downarrow} a_{1,\downarrow}+ a^{\dagger}_{1,\downarrow} a_{2,\downarrow})\right)\,\mathrm{Ha}. $$

one_electron_integrals:     # required
    units: hartree          # required
    format: sparse          # required
    values:                 # required
        # i j f(i,j)
        - [1, 1, -5.0]
        - [2, 1,  0.17]

Nota

Broombridge usa indexação baseada em 1.Broombridge uses 1-based indexing.

Objeto integral de dois eletrõesTwo-Electron Integrals Object

Esta secção é normativa.This section is normative.

A two_electron_integrals propriedade do objeto Hamiltonian DEVE ser uma quantidade de matriz escassa com uma propriedade adicional chamada index_convention .The two_electron_integrals property of the Hamiltonian object MUST be a sparse array quantity with one additional property called index_convention. Cada elemento do valor de two_electron_integrals MUST tem quatro índices.Each element of the value of two_electron_integrals MUST have four indices.

Cada two_electron_integrals imóvel DEVE ter uma index_convention propriedade.Each two_electron_integrals property MUST have a index_convention property. O valor do index_convention imóvel DEVE ser um dos valores permitidos listados no Quadro 1.The value of the index_convention property MUST be one of the allowed values listed in Table 1. Se o valor for index_convention mulliken , então para cada elemento da quantidade de two_electron_integrals matriz escassa, um parser carregando um documento de Broombridge DEVE instantaneamente um termo Hamiltonian igual ao operador de dois eletrões $h_{i, j, k, l} a^\dagger_i a^\dagger_j a_k a_l$, onde $i$, $j$, $k$, e $l$ MUST são inteiros de valor pelo menos 1, e onde $h_{i, j, k, l}$ é o elemento [i, j, k, l, h(i, j, k, l)] da quantidade de matriz escassa.If the value of index_convention is mulliken, then for each element of the two_electron_integrals sparse array quantity, a parser loading a Broombridge document MUST instantiate a Hamiltonian term equal to the two-electron operator $h_{i, j, k, l} a^\dagger_i a^\dagger_j a_k a_l$, where $i$, $j$, $k$, and $l$ MUST be integers of value at least 1, and where $h_{i, j, k, l}$ is the element [i, j, k, l, h(i, j, k, l)] of the sparse array quantity.

AssimetriasSymmetries

Esta secção é normativa.This section is normative.

Se a index_convention propriedade de um objeto for igual a , two_electron_integrals mulliken então se um elemento com índices [i, j, k, l] estiver presente, os seguintes índices NÃO devem estar presentes a menos que sejam iguais [i, j, k, l] a:If the index_convention property of a two_electron_integrals object is equal to mulliken, then if an element with indices [i, j, k, l] is present, the following indices MUST NOT be present unless they are equal to [i, j, k, l]:

  • [i, j, l, k]
  • [j, i, k, l]
  • [j, i, l, k]
  • [k, l, i, j]
  • [k, l, j, i]
  • [l, k, j, i]

Nota

Como a index_convention propriedade é um objeto de quantidade escassa, nenhum índice pode ser repetido em diferentes elementos.Because the index_convention property is a sparse quantity object, no indices may be repeated on different elements. Em particular, se um elemento com índices [i, j, k, l] estiver presente, nenhum outro elemento pode ter esses índices.In particular, if an element with indices [i, j, k, l] is present, no other element may have those indices.

ExemploExample

Esta secção é informativa.This section is informative.

O seguinte objeto especifica o HamiltonianThe following object specifies the Hamiltonian

$$ H = \frac12 \sum _ {\sigma,\rho\in \ {\uparrow,\downarrow \ }}\Biggr( 1.6 a^{\dagger} _ {1,\sigma} a^{\dagger} _ {1,\rho} a _ {1,\rho} a _ {1,\rho} a {1,\a^{1,\rho} _ a _ _ {3,\rho} a _ {2,\sigma}- 0,1 a^{\dagger} _ {6,\sigma} a^{\dagger} _ {1,\rho} a _ {2,\rho} a _ {3,\rho} a {3,\sigma}- 0.1 a^{\dagger} _ {1,\a^a^} _ {6,\rho} a _ {3,\rho} a _ {2,\sigma}- 0,1 a^{\dagger} _ {1,\sigma} {{\dagger} _ {6,\rho} a _ {2,\rho} a _ {3,\sigma} $$ $-0,1 a^{\dagger} _ {3,sigma\a{\a{{2,\rho} _ a _ {6,\rho} a _ {1,\sigma}- 0.1 a^{\dagger} _ {3,\sigma} a^{\dagger} _ {2,\rho} a _ {1,\rho} a _ {6,\sigma}- 0,1 a^{\dagger} _ {2,\sigma} _ .\rho} a _ {6,\rho} a _ {1,\sigma}- 0,1 a^{\dagger} _ {2,\sigma} a^{\dagger} _ {3,\rho} a _ {1,\rho} a _ {6,\sigma}\Biggr) \ \textrm{Ha}.$$ H = \frac12 \sum_{\sigma,\rho\in\{\uparrow,\downarrow\}}\Biggr( 1.6 a^{\dagger}_{1,\sigma} a^{\dagger}_{1,\rho} a_{1,\rho} a_{1,\sigma}- 0.1 a^{\dagger}_{6,\sigma} a^{\dagger}_{1,\rho} a_{3,\rho} a_{2,\sigma}- 0.1 a^{\dagger}_{6,\sigma} a^{\dagger}_{1,\rho} a_{2,\rho} a_{3,\sigma}- 0.1 a^{\dagger}_{1,\sigma} a^{\dagger}_{6,\rho} a_{3,\rho} a_{2,\sigma}- 0.1 a^{\dagger}_{1,\sigma} a^{\dagger}_{6,\rho} a_{2,\rho} a_{3,\sigma} $$ $$- 0.1 a^{\dagger}_{3,\sigma} a^{\dagger}_{2,\rho} a_{6,\rho} a_{1,\sigma}- 0.1 a^{\dagger}_{3,\sigma} a^{\dagger}_{2,\rho} a_{1,\rho} a_{6,\sigma}- 0.1 a^{\dagger}_{2,\sigma} a^{\dagger}_{3,\rho} a_{6,\rho} a_{1,\sigma}- 0.1 a^{\dagger}_{2,\sigma} a^{\dagger}_{3,\rho} a_{1,\rho} a_{6,\sigma}\Biggr)\,\textrm{Ha}. $$

two_electron_integrals:
    index_convention: mulliken
    units: hartree
    format: sparse
    values:
        - [1, 1, 1, 1,  1.6]
        - [6, 1, 3, 2, -0.1]

Secção inicial do EstadoInitial State Section

Esta secção é normativa.This section is normative.

O initial_state_suggestion objeto cujo valor é uma matriz JSON especifica estados quânticos iniciais de interesse para o Hamiltonian especificado.The initial_state_suggestion object whose value is a JSON array specifies initial quantum states of interest to the specified Hamiltonian. Cada item no valor da initial_state_suggestion propriedade DEVE ser um objeto JSON descrevendo um estado quântico, como descrito no restante desta secção.Each item in the value of the initial_state_suggestion property MUST be a JSON object describing one quantum state, as described in the remainder of this section. No restante desta secção, o termo "objeto de estado" refere-se a um item no valor da initial_state_suggestion propriedade do objeto Broombridge.In the remainder of this section, the term "state object" will refer to an item in the value of the initial_state_suggestion property of the Broombridge object.

Objeto de EstadoState object

Esta secção é normativa.This section is normative.

Cada objeto de estado DEVE ter uma label propriedade contendo uma corda.Each state object MUST have a label property containing a string. Cada objeto de estado DEVE ter uma method propriedade.Each state object MUST have a method property. O valor do method imóvel DEVE ser um dos valores permitidos listados no Quadro 3.The value of the method property MUST be one of the allowed values listed in Table 3. Cada objeto de estado pode ter uma propriedade energy cujo valor DEVE ser um objeto de quantidade simples.Each state object MAY have a property energy whose value MUST be a simple quantity object.

Se o valor do method imóvel sparse_multi_configurational for, o objeto de estado DEVE ter uma superposition propriedade contendo um conjunto de estados de base e suas amplitudes não normalizadas.If the value of the method property is sparse_multi_configurational, the state object MUST have a superposition property containing an array of basis states and their unnormalized amplitudes.

For example, the initial states $$ \ket{G0}=\ket{G1}=\ket{G2}=(a^{\dagger} _ {1,\uparrow}a^{\dagger} _ {2,\uparrow}a^{\dagger} _ {2,\downarrow})\ket {0} $$ $$ \ket{E}=\frac{0.1 (a^{\dagger} _ {1,\uparrow}a^{\dagger} _ {2,\uparrow}a^{\dagger} _ {2,\downarrow})+0.2 (a^{\dagger} _ {1,\uparrow}a^{\dagger} _ {3,\uparrow}a^{\dagger} _ {2,\downarrow})}{\sqrt{|0.1|^2+|0.2|^2}}\ket {0} , $$ where $\ket{E}$ has energy $0.987 \textrm{Ha}$, are represented byFor example, the initial states $$ \ket{G0}=\ket{G1}=\ket{G2}=(a^{\dagger}_{1,\uparrow}a^{\dagger}_{2,\uparrow}a^{\dagger}_{2,\downarrow})\ket{0} $$ $$ \ket{E}=\frac{0.1 (a^{\dagger}_{1,\uparrow}a^{\dagger}_{2,\uparrow}a^{\dagger}_{2,\downarrow})+0.2 (a^{\dagger}_{1,\uparrow}a^{\dagger}_{3,\uparrow}a^{\dagger}_{2,\downarrow})}{\sqrt{|0.1|^2+|0.2|^2}}\ket{0}, $$ where $\ket{E}$ has energy $0.987 \textrm{Ha}$, are represented by

initial_state_suggestions: # optional. If not provided, spin-orbitals will be filled to minimize one-body diagonal term energies.
  - label: "|G0>"
    method: sparse_multi_configurational
    superposition:
      - [1.0, "(1a)+","(2a)+","(2b)+","|vacuum>"]
  - label: "|G1>"
    method: sparse_multi_configurational
    superposition:
      - [-1.0, "(2a)+","(1a)+","(2b)+","|vacuum>"]
  - label: "|G2>"
    method: sparse_multi_configurational
    superposition:
      - [1.0, "(3a)","(1a)+","(2a)+","(3a)+","(2b)+","|vacuum>"]
  - label: "|E>"
    energy: {units: hartree, value: 0.987}
    method: sparse_multi_configurational
    superposition:
      - [0.1, "(1a)+","(2a)+","(2b)+","|vacuum>"]
      - [0.2, "(1a)+","(3a)+","(2b)+","|vacuum>"]

Se o valor do method imóvel unitary_coupled_cluster for, o objeto de estado DEVE ter um cluster_operator imóvel cujo valor é um objeto JSON.If the value of the method property is unitary_coupled_cluster, the state object MUST have a cluster_operator property whose value is a JSON object. O objeto JSON DEVE ter um reference_state imóvel cujo valor é um estado de base.The JSON object MUST have a reference_state property whose value is a basis state. O objeto JSON pode ter uma one_body_amplitudes propriedade cujo valor é uma matriz de operadores de cluster de um corpo e suas amplitudes.The JSON object MAY have a one_body_amplitudes property whose value is an array of one-body cluster operators and their amplitudes. O objeto JSON pode ter uma two_body_amplitudes propriedade cujo valor é uma matriz de operadores de cluster de dois corpos e suas amplitudes.The JSON object MAY have a two_body_amplitudes property whose value is an array of two-body cluster operators and their amplitudes. contendo uma série de estados de base e as suas amplitudes não normalizadas.containing an array of basis states and their unnormalized amplitudes.

Por exemplo, o estado $\ \ket{\text{reference}=(a^{\dagger} _ {1,\uparrow}a^{\dagger} _ {2,\uparrow}a^{\dagger} _ {2,\downarrow}\ket {0} , $$For example, the state $$ \ket{\text{reference}}=(a^{\dagger}_{1,\uparrow}a^{\dagger}_{2,\uparrow}a^{\dagger}_{2,\downarrow})\ket{0}, $$

$$ \ket{\text{UCCSD}}=e^{T-T^\dagger}\ket{\text{reference}, $$$$ \ket{\text{UCCSD}}=e^{T-T^\dagger}\ket{\text{reference}}, $$

$$ T = 0,1 a^{\dagger} _ {3,\uparrow}a _ {2,\downarrow} + 0,2 a^{\dagger} _ {2,\uparrow}a _ {2,\downarrow} - 0,3 a^{\dagger} _ {1,\uparrow}a^{\dagger} _ {3,\downarrow}a _ {3,\uparrow}a _ {2,\downarrow} $$ é representado por$$ T = 0.1 a^{\dagger}_{3,\uparrow}a_{2,\downarrow} + 0.2 a^{\dagger}_{2,\uparrow}a_{2,\downarrow} - 0.3 a^{\dagger}_{1,\uparrow}a^{\dagger}_{3,\downarrow}a_{3,\uparrow}a_{2,\downarrow} $$ is represented by

initial_state_suggestions: # optional. If not provided, spin-orbitals will be filled to minimize one-body diagonal term energies.
  - label: "UCCSD"
    method: unitary_coupled_cluster
    cluster_operator: # Initial state that cluster operator is applied to.
        reference_state: 
          [1.0, "(1a)+", "(2a)+", "(2b)+", '|vacuum>']
        one_body_amplitudes: # A one-body cluster term is t^{q}_{p} a^\dag_p a_q   
            - [0.1, "(3a)+", "(2b)"]
            - [-0.2, "(2a)+", "(2b)"]
        two_body_amplitudes: # A two-body unitary cluster term is t^{rs}_{pq} a^\dag_p a^\dag_q a_r a_s
            - [-0.3, "(1a)+", "(3b)+", "(3a)", "(2b)"]

Objeto de conjunto de baseBasis Set Object

Esta secção é normativa.This section is normative.

Cada objeto de descrição de problemas pode ter uma basis_set propriedade.Each problem description object MAY have a basis_set property. Se estiver presente, o valor do basis_set imóvel DEVE ser um objeto com duas propriedades, type e name .If present, the value of the basis_set property MUST be an object with two properties, type and name.

As funções de base identificadas pelo valor do basis_set imóvel MUST são de valor real.The basis functions identified by the value of the basis_set property MUST be real-valued.

Nota

O pressuposto de que todas as funções de base são valorizados real pode ser relaxado em futuras versões desta especificação.The assumption that all basis functions are real-valued may be relaxed in future versions of this specification.

Tabelas e ListasTables and Lists

Tabela 1.Table 1. Unidades Físicas PermitidasAllowed Physical Units

Esta secção é normativa.This section is normative.

Qualquer cadeia que especifique uma unidade DEVE ser uma das seguintes:Any string specifying a unit MUST be one of the following:

  • hartree
  • ev

Os parsers e produtores DEVEM tratar os seguintes objetos de quantidade simples como equivalentes:Parsers and producers MUST treat the following simple quantity objects as equivalent:

- {"units": "hartree", "value": 1}
- {"units": "ev", "value": 27.2113831301723}

Tabela 2.Table 2. Convenções de Índice PermitidasAllowed Index Conventions

Esta secção é normativa.This section is normative.

Qualquer cadeia que especifique uma convenção de índice DEVE ser uma das seguintes:Any string specifying an index convention MUST be one of the following:

  • mulliken

Esta secção é informativa.This section is informative.

As convenções de índice adicionais podem ser introduzidas em futuras versões desta especificação.Additional index conventions may be introduced in future versions of this specification.

Interpretação das Convenções de ÍndiceInterpretation of Index Conventions

Esta secção é informativa.This section is informative.

Tabela 3.Table 3. Métodos permitidos do EstadoAllowed State methods

Esta secção é normativa.This section is normative.

Qualquer cadeia que especifique um método de estado DEVE ser uma das seguintes:Any string specifying a state method MUST be one of the following:

  • sparse_multi_configurational
  • unitary_coupled_cluster

Esta secção é informativa.This section is informative.

Podem ser introduzidos métodos estatais adicionais em futuras versões desta especificação.Additional state methods may be introduced in future versions of this specification.