Skip to main content
IBM Quantum Platform

MPOState

class MPOState(*args, **kwargs)

GitHub

Bases: MatrixProductOperator, State

Un MPO aplicando el gálibo Vidal.

Esta especialización de quimb existente quimb.tensor.MatrixProductOperator impone el calibre Vidal durante toda su existencia. Esto garantiza un comportamiento estable del DynamicMPF algoritmo cuando se utiliza el TEBDEvolver.

Inicializar una MPOState instancia.

Sugerencia

Todos los argumentos (posicionales y de palabra clave) se envían simplemente al constructor quimb.tensor.MatrixProductOperator constructor. Además, el atributo vidal_singular_values se inicializa con una lista de listas vacías de longitud igual al número de centros de esta OPM.

Parámetros


Atributos

vidal_singular_values

Tipo: list[list[float]]

Una lista anidada de valores singulares. La lista exterior tiene la misma longitud que el propio MPO (quimb.tensor.TensorNetwork1D.L). Cada elemento es otra lista de todos los valores singulares para determinar el calibre Vidal en ese sitio.


Métodos

gate_split

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

GitHub

Aplique una puerta de dos sitios y contrátelo de nuevo en el MPO.

El principio básico de este método es el mismo que el de quimb.tensor.MatrixProductState.gate_split(). Sin embargo, la aplicación garantiza la conservación del indicador Vidal.

Parámetros

  • gate (ndarray) – la puerta que se aplicará al MPO. Su forma debe ser (d**2, d**2) para una dimensión física de d, o una versión remodelada de la misma.

  • where (tuple[int, int]) – los índices de los lugares donde debe aplicarse la puerta.

  • inplace (bool) – si desea realizar la aplicación de la puerta en el lugar o devolver un nuevo MPOState con la puerta aplicada.

  • conj (bool) –

    si la puerta debe aplicarse a la parte inferior (conj=False, por defecto, lower_ind()) o superior (conj=True, upper_ind()) del MPO subyacente.

    Nota

    Así es como se diferencian el LHS y el RHS del DynamicMPF se diferencian, pasando su propiedad Evolver.conjugate a este argumento.

  • split_opts - argumentos adicionales que serán enviados a la función quimb.tensor.tensor_split() función. Pueden utilizarse para afectar al truncamiento del tensor antes de que se contraiga de nuevo en el MPO.

Devuelve

El MPOState con el gate aplicado y 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

Calcula el solapamiento de este estado con el estado inicial proporcionado.

Aviso

Esta implementación sólo admite instancias de quimb.tensor.MatrixProductState para initial_state.

Parámetros

initial_state (Any) – el estado inicial con el que calcular el solapamiento.

Eleva

TypeError - si el estado inicial proporcionado tiene un tipo incompatible.

Devuelve

La superposición de este estado con el proporcionado.

Tipo de retorno

complejo

¿Le ha resultado útil esta página?
Informe de un error, de una errata o solicite contenido en GitHub.