LayerwiseEvolver
class LayerwiseEvolver(evolution_state, layers, *args, **kwargs)
Basi: TEBDEvolver
Un caso particolare di TEBDEvolver basato su modelli di evoluzione a strati.
Come spiegato anche in quimb_layers, questa implementazione estrae l'aggiornamento alternato dei legami pari/dispari implementato all'interno dell'originale quimb.tensor.TEBD per diventare responsabilità degli utenti finali. Lo fa sostituendo la singola Hamiltoniana fornita all'istanza con una sequenza di TEBDEvolver con una sequenza di LayerModel istanze. Ogni singola istanza di questi codifica un singolo livello di interazioni. Questi dovrebbero imporre l'aggiornamento alternato dei legami pari e dispari della rete tensoriale sottostante.
La motivazione di questa interfaccia più complessa è che offre una maggiore flessibilità e consente agli utenti di definire formule di prodotto Trotter personalizzate, invece di essere limitati a quelle implementate direttamente da quimb .
Inizializza un'istanza LayerwiseEvolver istanza.
Parametri
- evolution_state (quimb_tebd.MPOState | MatrixProductState) – inoltrata a
TEBDEvolver. Per maggiori dettagli, consultare la documentazione. - layers (list[LayerModel]) – l'elenco dei modelli che descrivono singoli strati di interazioni. Vedi sopra e le spiegazioni fornite in
quimb_layers. - args - qualsiasi altro argomento posizionale sarà inoltrato al costruttore
TEBDEvolvercostruttore. - kwargs - qualsiasi altro argomento di parola chiave sarà inoltrato al costruttore
TEBDEvolveral costruttore.
Attributi
layers
Gli strati di interazioni utilizzati per implementare l'evoluzione temporale.