Skip to main content
IBM Quantum Platform

MPOState

class MPOState(*args, **kwargs)

GitHub

Bases: MatrixProductOperator, State

Uma MPO aplicando o medidor Vidal.

Essa especialização da existência de quimb quimb.tensor.MatrixProductOperator existente do quimb impõe a bitola Vidal durante toda a sua existência. Isso garante um comportamento estável do algoritmo DynamicMPF ao usar o algoritmo TEBDEvolver.

Inicializar uma MPOState instância.

Dica

Todos os argumentos (posicionais e de palavra-chave) são simplesmente encaminhados para o quimb.tensor.MatrixProductOperator construtor. Além disso, o atributo vidal_singular_values é inicializado como uma lista de listas vazias de comprimento igual ao número de locais nesse MPO.

Parâmetros


Atributos

vidal_singular_values

Tipo: list[list[float]]

Uma lista aninhada de valores singulares. A lista externa tem o mesmo comprimento que a própria MPO (quimb.tensor.TensorNetwork1D.L). Cada item é outra lista de todos os valores singulares para determinar o medidor Vidal naquele local.


Métodos

gate_split

gate_split(gate, where, inplace=False, conj=False, **split_opts)

GitHub

Aplique um portão de dois locais e contrate-o de volta para a MPO.

O princípio básico desse método é o mesmo que o do quimb.tensor.MatrixProductState.gate_split(). No entanto, a implementação garante que a bitola de Vidal seja conservada.

Parâmetros

  • gate (ndarray) – o portão a ser aplicado ao MPO. Seu formato deve ser (d**2, d**2) para uma dimensão física de d, ou uma versão remodelada do mesmo.

  • where (tuple[int, int]) – os índices dos locais onde a porta deve ser aplicada.

  • inplace (bool) – se a aplicação da porta deve ser executada no local ou se deve retornar um novo MPOState com a porta aplicada a ele.

  • conj (bool) –

    se o portão deve ser aplicado à parte inferior (conj=False, o padrão, lower_ind()) ou superior (conj=True, upper_ind()) dos índices do MPO subjacente.

    Nota

    Essencialmente, é assim que o LHS e o RHS do DynamicMPF são diferenciados, passando sua propriedade Evolver.conjugate para esse argumento.

  • split_opts - argumentos de palavras-chave adicionais que serão encaminhados para a quimb.tensor.tensor_split() função. Eles podem ser usados para afetar o truncamento do tensor antes que ele seja contraído de volta para o MPO.

Retorna

O MPOState com o gate aplicado e contraído.

Tipo de retorno

MPOState

gate_split_

gate_split_(gate, where, *, inplace=True, conj=False, **split_opts)

Parâmetros

Tipo de retorno

MPOState

overlap

overlap(initial_state)

GitHub

Calcule a sobreposição desse estado com o estado inicial fornecido.

Aviso

Essa implementação suporta apenas instâncias de quimb.tensor.MatrixProductState para initial_state.

Parâmetros

initial_state (Any) – o estado inicial com o qual será calculada a sobreposição.

Aumentos

TypeError - se o estado inicial fornecido tiver um tipo incompatível.

Retorna

A sobreposição desse estado com o estado fornecido.

Tipo de retorno

complexo

Esta página foi útil?
Relate um bug, erro de digitação ou solicite conteúdo no GitHub.