Skip to main content
IBM Quantum Platform

MPOState

class MPOState(*args, **kwargs)

GitHub

Basi: MatrixProductOperator, State

Un MPO che applica il calibro Vidal.

Questa specializzazione del quimb esistente quimb.tensor.MatrixProductOperator applica il calibro di Vidal per tutta la sua esistenza. Questo assicura un comportamento stabile dell'algoritmo DynamicMPF quando si utilizza l'algoritmo TEBDEvolver.

Inizializza un'istanza MPOState istanza.

Suggerimento

Tutti gli argomenti (posizionali e parole chiave) sono semplicemente inoltrati al costruttore quimb.tensor.MatrixProductOperator al costruttore. Inoltre, l'attributo vidal_singular_values viene inizializzato a un elenco di liste vuote di lunghezza pari al numero di siti di questo MPO.

Parametri


Attributi

vidal_singular_values

Tipo: list[list[float]]

Un elenco annidato di valori singolari. L'elenco esterno ha la stessa lunghezza di questo MPO (quimb.tensor.TensorNetwork1D.L). Ogni elemento è un altro elenco di tutti i valori singolari per determinare il calibro di Vidal in quel sito.


Metodi

gate_split

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

GitHub

Applicare un cancello a due siti e riattribuirlo all'MPO.

Il principio di base di questo metodo è lo stesso di quello di quimb.tensor.MatrixProductState.gate_split(). Tuttavia, l'implementazione garantisce la conservazione della sagoma di Vidal.

Parametri

  • gate (ndarray) – il cancello da applicare all'MPO. La sua forma deve essere (d**2, d**2) per una dimensione fisica di d, oppure una sua versione rimodellata.

  • where (tuple[int, int]) – gli indici dei siti in cui applicare il gate.

  • inplace (bool) – se eseguire l'applicazione del gate in-place o se restituire un nuovo MPOState con il gate applicato.

  • conj (bool) –

    se il gate deve essere applicato alla parte inferiore (conj=False, il valore predefinito, lower_ind()) o superiore (conj=True, upper_ind()) degli indici dell'MPO sottostante.

    Nota

    Questo è essenzialmente il modo in cui il LHS e il RHS della formula DynamicMPF vengono differenziati, passando la loro proprietà Evolver.conjugate a questo argomento.

  • split_opts - argomenti aggiuntivi delle parole chiave che saranno inoltrati alla funzione quimb.tensor.tensor_split() funzione. Questi possono essere utilizzati per influenzare il troncamento del tensore prima che venga ritratto nell'MPO.

Risultati

Il MPOState con il gate applicato e contratto.

Tipo di restituzione

MPOState

gate_split_

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

Parametri

Tipo di restituzione

MPOState

overlap

overlap(initial_state)

GitHub

Calcolare la sovrapposizione di questo stato con lo stato iniziale fornito.

Avvertenza

Questa implementazione supporta solo istanze di quimb.tensor.MatrixProductState per initial_state.

Parametri

initial_state (Any) – lo stato iniziale con cui calcolare la sovrapposizione.

Aumenti

TypeError - se lo stato iniziale fornito ha un tipo incompatibile.

Risultati

La sovrapposizione di questo stato con quello fornito.

Tipo di restituzione

complesso

Questa pagina è stata utile?
Segnala un bug, un errore di battitura o richiedi contenuti su GitHub.