kvantový algoritmus simulace mnoha těl
The časově se vyvíjející decimace bloku (TEBD) algoritmus je numerické schéma používané k simulaci jednorozměrného kvantová systémy mnoha těl, charakterizované nanejvýš interakcemi nejbližších sousedů. Nazývá se Time-evolving Block Decimation, protože dynamicky identifikuje příslušné nízkodimenzionální Hilbertovy podprostory exponenciálně většího originálu Hilbertův prostor. Algoritmus, založený na formalizmu Matrix Product States, je vysoce efektivní, když je množství zapletení v systému je omezený, požadavek splněný velkou třídou kvantových systémů mnoha těl v jedné dimenzi.
Úvod
V současné době existuje značný zájem o oblast kvantové teorie o výpočetní metody vhodné pro fyziku systémů mnoha těl. Vzhledem k inherentním obtížím simulace obecných kvantových systémů mnoha těl, exponenciální nárůst v parametrech s velikostí systému a odpovídajícími vysokými výpočetními náklady by jedním řešením bylo hledat numerické metody, které se zabývají zvláštními případy, kdy lze těžit z fyziky systému. Surový přístup, přímý přístup ke všem parametrům použitým k úplné charakterizaci kvantového systému mnoha těl, je vážně narušen bohatě exponenciálním nárůstem s velikostí systému a množstvím proměnných potřebných pro simulaci, což v nejlepším případě vede k k nepřiměřeně dlouhým výpočtovým časům a rozšířenému využití paměti. Aby bylo možné tento problém obejít, bylo v průběhu času vyvinuto a zavedeno do praxe několik různých metod, přičemž jednou z nejúspěšnějších je kvantová metoda Monte Carlo (QMC). Také skupina renormalizace matice hustoty (DMRG) metoda, vedle QMC, je velmi spolehlivá metoda s rozšiřující se komunitou uživatelů a rostoucím počtem aplikací do fyzických systémů.
Když první kvantový počítač Je-li zapojen a funguje, bude perspektiva pro oblast výpočetní fyziky vypadat docela slibně, ale do té doby se člověk musí omezit na pozemské nástroje nabízené klasickými počítači. Zatímco experimentální fyzici vynakládají velké úsilí na to, aby postavili první kvantový počítač, teoretičtí fyzici hledají v oblasti kvantová informace teorie (QIT), pro skutečné kvantové algoritmy, vhodné pro problémy, které by fungovaly špatně, když by se snažily vyřešit na klasickém počítači, ale docela rychle a úspěšně na kvantovém. Hledání těchto algoritmů stále pokračuje, nejznámější (a téměř jediné nalezené) jsou Shorův algoritmus, pro factoring velké počty a Groverův vyhledávací algoritmus.
V oblasti QIT je třeba identifikovat primární zdroje nezbytné pro skutečný kvantový výpočet. Takový zdroj může být zodpovědný za nárůst zrychlení v kvantové versus klasické, jejich identifikace znamená také identifikaci systémů, které lze na klasickém počítači simulovat přiměřeně účinným způsobem. Takový zdroj je Kvantové zapletení; proto je možné stanovit zřetelnou dolní mez pro zapletení potřebné pro kvantová výpočetní zrychlení.
Guifré Vidal, pak v Ústavu pro kvantové informace, Caltech, nedávno navrhl schéma užitečné pro simulaci určité kategorie kvanta[1] systémy. Tvrdí to „jakýkoli kvantový výpočet s čistými stavy lze efektivně simulovat na klasickém počítači za předpokladu, že je dostatečně omezeno množství zapletení“.To se stává v případě generik Hamiltonians zobrazování místních interakcí, například Hubbard - jako Hamiltonians. Metoda vykazuje polynomiální chování nízkého stupně při zvyšování výpočetního času s ohledem na množství zapletení přítomného v systému. Algoritmus je založen na schématu, které využívá skutečnosti, že v těchto jednorozměrných systémech vlastní hodnoty redukovaného matice hustoty na bipartitním rozdělení systému exponenciálně chátrají, což nám umožňuje pracovat v prostoru nové velikosti překlenutém vlastními vektory odpovídajícími vlastní čísla jsme vybrali.
Lze také odhadnout množství výpočetních zdrojů potřebných pro simulaci kvantového systému na klasickém počítači, protože je známo, jak se zapletení obsažené v systému mění s velikostí systému. Klasicky (a také kvantově) proveditelné simulace jsou ty, které zahrnují systémy pouze lehce zapletené - ty silně zapletené jsou na druhé straně dobrými kandidáty pouze pro skutečné kvantové výpočty.
Numerická metoda je účinná při simulaci dynamiky v reálném čase nebo při výpočtech základní stavy pomocí evoluce v imaginárním čase nebo isentropic interpolace mezi cílovým Hamiltonianem a Hamiltonianem s již známým základním stavem. Výpočetní časové stupnice lineárně s velikostí systému lze tedy zkoumat systémy s mnoha částicemi v 1D.
Užitečnou vlastností algoritmu TEBD je, že jej lze spolehlivě použít pro vývoj času simulace časově závislých Hamiltoniánů, popisující systémy, které lze realizovat pomocí Studený atomy v optické mřížky, nebo v systémech daleko od rovnováhy v kvantovém transportu. Z tohoto pohledu měl TEBD určitou převahu nad DMRG, velmi silnou technikou, ale donedávna nebyl příliš vhodný pro simulaci vývoje času. Vzhledem k tomu, že formalizmus Matrix Product States je v matematickém jádru DMRG, byl komunitou DMRG přijat systém TEBD, čímž vznikl časově závislý DMRG [2][trvalý mrtvý odkaz ], zkráceně t-DMRG.
Přibližně ve stejnou dobu vyvinuly jiné skupiny podobné přístupy, ve kterých hraje kvantová informace převládající roli, například v implementacích DMRG pro periodické okrajové podmínky [3], a pro studium dynamiky smíšených stavů v jednorozměrných kvantových mřížkových systémech.[2][3] Tyto poslední přístupy ve skutečnosti poskytují formalizmus, který je obecnější než původní přístup TEBD, protože také umožňuje vypořádat se s vývojem u operátorů maticových produktů; to umožňuje simulaci netriviálních neinfinitezimálních evolucí na rozdíl od případu TEBD a je to klíčová složka pro řešení výškových analogů stavů maticového produktu.
Rozklad státu
Představujeme rozklad státu
Zvažte řetězec N qubits, popsané funkcí
. Nejpřirozenější způsob popisu
bude používat místní
-dimenzionální základ
:
![|Psi angle =sum limits _{{i=1}}^{{M}}c_{{i_{1}i_{2}..i_{N}}}|{i_{1},i_{2},..,i_{{N-1}},i_{N}}angle](https://wikimedia.org/api/rest_v1/media/math/render/svg/7ff9dc4f8dfb16ed22c201c30357090ea2877278)
kde M je dimenze na místě.
Trik TEBD spočívá v přepisování koeficientů
:
![c_{{i_{1}i_{2}..i_{N}}}=sum limits _{{alpha _{1},..,alpha _{{N-1}}=0}}^{{chi }}Gamma _{{alpha _{1}}}^{{[1]i_{1}}}lambda _{{alpha _{1}}}^{{[1]}}Gamma _{{alpha _{1}alpha _{2}}}^{{[2]i_{2}}}lambda _{{alpha _{2}}}^{{[2]}}Gamma _{{alpha _{2}alpha _{3}}}^{{[3]i_{3}}}lambda _{{alpha _{3}}}^{{[3]}}cdot ..cdot Gamma _{{alpha _{{N-2}}alpha _{{N-1}}}}^{{[{N-1}]i_{{N-1}}}}lambda _{{alpha _{{N-1}}}}^{{[N-1]}}Gamma _{{alpha _{{N-1}}}}^{{[N]i_{N}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/8311b0237a83fc0f7a6d758f54d167b636ef1b38)
Tato forma, známá jako a Stav maticového produktu, výrazně zjednodušuje výpočty.
Abychom pochopili proč, můžeme se podívat na Schmidtův rozklad státu, který používá rozklad singulární hodnoty jednodušeji vyjádřit stav s omezeným zapletením.
Schmidtův rozklad
Zvažte stav bipartitního systému
. Každý takový stát
lze reprezentovat na vhodně zvoleném základě jako:
![{displaystyle |{Psi }angle =sum limits _{i=1}^{M_{A|B}}a_{i}|{Phi _{i}^{A}Phi _{i}^{B}}angle }](https://wikimedia.org/api/rest_v1/media/math/render/svg/3700978b40bb938d7ed13308f93b334a3780987a)
kde
jsou tvořeny vektory
které tvoří ortonormální základ v
a odpovídajícím způsobem vektory
, které tvoří ortonormální základ v
, s koeficienty
být skutečný a pozitivní,
. Toto se nazývá Schmidtův rozklad (SD) stavu. Obecně se součet zvyšuje
. Schmidtova hodnost bipartitního rozdělení je dána počtem nenulových Schmidtových koeficientů. Pokud je Schmidtova hodnost jedna, je rozdělení charakterizováno stavem produktu. Vektory SD jsou určovány až do fáze a vlastní čísla a Schmidtova pozice jsou jedinečné.
Například stav dvou qubitů:
![|{Psi }angle ={frac {1}{2{sqrt {2}}}}left(|{00}angle +{{sqrt {3}}}|{01}angle +{{sqrt {3}}}|{10}angle +|{11}angle ight)](https://wikimedia.org/api/rest_v1/media/math/render/svg/4dbc15432b947fa00d949f0ea32bab8e8e5878bc)
má následující SD:
![|{Psi }angle ={frac {{sqrt {3}}+1}{2{sqrt {2}}}}|{phi _{1}^{{A}}phi _{1}^{{B}}}angle +{frac {{sqrt {3}}-1}{2{sqrt {2}}}}|{phi _{2}^{{A}}phi _{2}^{{B}}}angle](https://wikimedia.org/api/rest_v1/media/math/render/svg/73371bd19fa1fd7ba226eff1c31726ea9d869dde)
s
![|{phi _{1}^{{A}}}angle ={frac {1}{{sqrt {2}}}}(|{0_{{A}}}angle +|{1_{{A}}}angle ), |{phi _{1}^{{B}}}angle ={frac {1}{{sqrt {2}}}}(|{0_{{B}}}angle +|{1_{{B}}}angle ), |{phi _{2}^{{A}}}angle ={frac {1}{{sqrt {2}}}}(|{0_{{A}}}angle -|{1_{{A}}}angle ), |{phi _{2}^{{B}}}angle ={frac {1}{{sqrt {2}}}}(|{1_{{B}}}angle -|{0_{{B}}}angle )](https://wikimedia.org/api/rest_v1/media/math/render/svg/91f1cbe13b8093d92ca59a34dcbaa86b4f164afe)
Na druhou stranu stát:
![|{Phi }angle ={frac {1}{{sqrt {3}}}}|{00}angle +{frac {1}{{sqrt {6}}}}|{01}angle -{frac {i}{{sqrt {3}}}}|{10}angle -{frac {i}{{sqrt {6}}}}|{11}angle](https://wikimedia.org/api/rest_v1/media/math/render/svg/df2610441b72e3565ac5f5c7e2e06d2984b7da47)
je stav produktu:
![|{Phi }angle ={(}{frac {1}{{sqrt {3}}}}|{0_{{A}}}angle -{frac {i}{{sqrt {3}}}}|{1_{{A}}}angle {)}otimes {(}|{0_{{B}}}angle +{frac {1}{{sqrt {2}}}}|{1_{{B}}}angle {)}](https://wikimedia.org/api/rest_v1/media/math/render/svg/aefbcb4a2ba3434dadeeb40f02d336645f008480)
Budování rozkladu státu
V tomto okamžiku pravděpodobně víme dost, abychom se pokusili zjistit, jak explicitně stavíme rozklad (řekněme tomu D).
Zvažte bipartitní rozdělení
. SD má koeficienty
a vlastní vektory
Rozšířením
na místním základě lze napsat:
![|{Psi }angle =sum limits _{{i_{1},{alpha _{1}=1}}}^{{M,chi }}Gamma _{{alpha _{1}}}^{{[1]i_{1}}}lambda _{{alpha _{1}}}^{{[1]}}|{i_{1}}angle |{Phi _{{alpha _{1}}}^{{[2..N]}}}angle](https://wikimedia.org/api/rest_v1/media/math/render/svg/a59c014a7cf2963e12264a0edd17ba0d77cd0980)
Proces lze rozložit ve třech krocích, iterovaných pro každou vazbu (a odpovídajícím způsobem i SD) v řetězci:
Krok 1: vyjádřit
je na místní bázi pro qubit 2:
![|{Phi _{{alpha _{1}}}^{{[2..N]}}}angle =sum _{{i_{2}}}|{i_{2}}angle |{ au _{{alpha _{1}i_{2}}}^{{[3..N]}}}angle](https://wikimedia.org/api/rest_v1/media/math/render/svg/e785e8ad85f5c82cb7f9e7177462142fe672e935)
Vektory
nejsou nutně normalizováno.
Krok 2: napsat každý vektor
z hlediska nejvíce (Vidalovo zdůraznění)
Schmidtovy vektory
a odpovídajícím způsobem koeficienty
:
![| au _{{alpha _{1}i_{2}}}^{{[3..N]}}angle =sum _{{alpha _{2}}}Gamma _{{alpha _{1}alpha _{2}}}^{{[2]i_{2}}}lambda _{{{alpha }_{2}}}^{{[2]}}|{Phi _{{alpha _{2}}}^{{[3..N]}}}angle](https://wikimedia.org/api/rest_v1/media/math/render/svg/73da2a448201d1689d3c1da05fd317e0b0f52a2e)
Krok 3: proveďte substituce a získejte:
![|{Psi }angle =sum _{{i_{1},i_{2},alpha _{1},alpha _{2}}}Gamma _{{alpha _{1}}}^{{[1]i_{1}}}lambda _{{alpha _{1}}}^{{[1]}}Gamma _{{alpha _{1}alpha _{2}}}^{{[2]i_{2}}}lambda _{{{alpha }_{2}}}^{{[2]}}|{i_{1}i_{2}}angle |{Phi _{{alpha _{2}}}^{{[3..N]}}}angle](https://wikimedia.org/api/rest_v1/media/math/render/svg/931cab39539ccdf5bce2f96e36c68297e4a5bd54)
Opakováním kroků 1 až 3 lze sestrojit celý rozklad stavu D. Poslední
Jsou speciální případy, jako ty první, vyjadřující pravé Schmidtovy vektory na
vazba, pokud jde o místní základnu na
mřížové místo. Jak je uvedeno v[1] je snadné získat Schmidtův rozklad v
vazba, tj.
, z D.
Schmidtova vlastní čísla jsou uvedena výslovně v D:
![|{Psi }angle =sum _{{alpha _{k}}}lambda _{{{alpha }_{k}}}^{{[k]}}|{Phi _{{alpha _{k}}}^{{[1..k]}}}angle |{Phi _{{alpha _{k}}}^{{[k+1..N]}}}angle](https://wikimedia.org/api/rest_v1/media/math/render/svg/71c228cd2f4ce592b92db04fd8d414eebd84bca5)
Schmidtovy vlastní vektory jsou jednoduše:
![|{Phi _{{alpha _{k}}}^{{[1..k]}}}angle =sum _{{alpha _{1},alpha _{2}..alpha _{{k-1}}}}Gamma _{{alpha _{1}}}^{{[1]i_{1}}}lambda _{{alpha _{1}}}^{{[1]}}cdot cdot Gamma _{{alpha _{{k-1}}alpha _{k}}}^{{[k]i_{k}}}|{i_{1}i_{2}..i_{k}}angle](https://wikimedia.org/api/rest_v1/media/math/render/svg/0afc2f238e369f358349e338ad1fcac09511e859)
a
![|{Phi _{{alpha _{k}}}^{{[k+1..N]}}}angle =sum _{{alpha _{{k+1}},alpha _{{k+2}}..alpha _{{N}}}}Gamma _{{alpha _{k}alpha _{{k+1}}}}^{{[k+1]i_{{k+1}}}}lambda _{{alpha _{{k+1}}}}^{{[k+1]}}cdot cdot lambda _{{alpha _{{N-1}}}}^{{N-1}}Gamma _{{alpha _{{N-1}}}}^{{[N]i_{N}}}|{i_{{k+1}}i_{{k+2}}..i_{N}}angle](https://wikimedia.org/api/rest_v1/media/math/render/svg/5d1036742e8ef80fc23eb527624325398a8821a3)
Odůvodnění
Nyní, při pohledu na D, namísto
počáteční podmínky, existují
. Podle všeho jde jen o přepychový způsob přepisování koeficientů
, ale ve skutečnosti je toho víc než to. Za předpokladu, že N je dokonce Schmidtova hodnost
pro bipartitní řez uprostřed řetězu může mít maximální hodnotu
; v tomto případě skončíme minimálně
koeficienty, s přihlédnutím pouze k
ty, o něco více než původní
! Pravdou je, že rozklad D je užitečné při řešení systémů, které vykazují nízký stupeň zapletení, což je naštěstí případ mnoha systémů 1D, kde se Schmidtovy koeficienty základního stavu exponenciálně rozpadají s
:
![lambda _{{{alpha }_{l}}}^{{[l]}}{sim }e^{{-Kalpha _{l}}}, K>0.](https://wikimedia.org/api/rest_v1/media/math/render/svg/706da21d4d56519048fde40837eaa6e6970e718d)
Proto je možné vzít v úvahu pouze některé Schmidtovy koeficienty (jmenovitě ty největší), které ostatní upustily a následně znovu normalizovaly stav:
![|{Psi }angle ={frac {1}{{sqrt {sum limits _{{{alpha _{l}}=1}}^{{{chi }_{c}}}{|lambda _{{{alpha }_{l}}}^{{[l]}}|}^{2}}}}}cdot sum limits _{{{{alpha }_{l}}=1}}^{{{chi }_{c}}}lambda _{{{alpha }_{l}}}^{{[l]}}|{Phi _{{alpha _{l}}}^{{[1..l]}}}angle |{Phi _{{alpha _{l}}}^{{[l+1..N]}}}angle ,](https://wikimedia.org/api/rest_v1/media/math/render/svg/50e224a0c0590b281fc8eb8a1b4f4b32a5f233d0)
kde
je počet udržovaných Schmidtových koeficientů.
Pojďme pryč od tohoto abstraktního obrazu a osvěžme se konkrétním příkladem, abychom zdůraznili výhodu tohoto rozkladu. Zvažte například případ 50 fermiony v feromagnetický řetěz, kvůli jednoduchosti. Rozměr 12, řekněme, pro
by byla rozumná volba, ponechat vyřazené vlastní hodnoty na
% z celkového počtu, jak ukazují numerické studie,[4] což znamená zhruba
koeficienty ve srovnání s původními
ty.
I když Schmidtova vlastní čísla nemají tento exponenciální úpadek, ale vykazují algebraický pokles, stále můžeme použít D popsat náš stav
. Počet koeficientů, které mají odpovídat za věrný popis
mohou být rozumně větší, ale stále v dosahu případných numerických simulací.
Aktualizace rozkladu
Nyní je možné pokračovat ve zkoumání chování rozkladu D když jednal s jedním qubitem brány (OQG) a dvoubitové brány (TQG) působící na sousední qubity. Místo aktualizace všech
koeficienty
, omezíme se na řadu operací, které se v
jako polynomiální nízkého stupně, což šetří výpočetní čas.
One-qubit brány působící na qubit k
OQGs ovlivňují pouze qubit, na který jednají, aktualizaci stavu
po nečleněný operátor na qubit k nemění Schmidtova vlastní čísla nebo vektory vlevo, následně
nebo vpravo, tedy
je Jediný
, které budou aktualizovány, jsou
(vyžaduje pouze nanejvýš
operace), as
![Gamma _{{alpha _{{k-1}}alpha _{k}}}^{{'[k]i_{k}}}=sum _{{j}}U_{{j_{k}}}^{{i_{k}}}Gamma _{{alpha _{{k-1}}alpha _{k}}}^{{[k]j_{k}}}.](https://wikimedia.org/api/rest_v1/media/math/render/svg/b75c711432f0bea6f0b4868847c352064fb453c9)
Dvoubitové brány působící na qubits k, k + 1
Změny potřebné k aktualizaci
a
sleduje uživatele a jednotný provoz PROTI na qubits k, k + 1, pouze obavy
, a
Skládají se z řady
základní operace.
Podle Vidalova původního přístupu
lze považovat za součást pouze čtyř subsystémů:
![{{H}=J{{{otimes }}}H_{C}{otimes }H_{D}{otimes }K}.,](https://wikimedia.org/api/rest_v1/media/math/render/svg/ffd4f7caf50a1a4b03f5b6ce1f61328ae8bc049b)
The podprostor J je překlenuto vlastními vektory matice se sníženou hustotou
:
![ho ^{{[1..{k-1}]}}=sum _{{alpha }}{(lambda _{{alpha }}^{{[k-1]}})}^{2}|{Phi _{{alpha }}^{{[1..{k-1}]}}}angle langle {Phi _{{alpha }}^{{[1..{k-1}]}}}|=sum _{{alpha }}{(lambda _{{alpha }}^{{[k-1]}})^{2}}|{alpha }angle langle {alpha }|.](https://wikimedia.org/api/rest_v1/media/math/render/svg/97e8d05db617b2687e004496cc6764a60ce2ecd5)
Podobným způsobem podprostor K. je překlenuto vlastními vektory matice se sníženou hustotou:
![ho ^{{[{k+2}..{N}]}}=sum _{{gamma }}{(lambda _{{gamma }}^{{[k+1]}})^{2}}|{Phi _{{gamma }}^{{[{k+2}..N]}}}angle langle {Phi _{{gamma }}^{{[{k+2}..N]}}}|=sum _{{gamma }}{(lambda _{{gamma }}^{{[k+1]}})^{2}}|{gamma }angle langle {gamma }|.](https://wikimedia.org/api/rest_v1/media/math/render/svg/bccfb874a804a784b44d683ad619d154f5fd4f4c)
Podprostory
a
patří k qubits k a k + 1. Použití tohoto základu a rozkladu D,
lze napsat jako:
![|{psi }angle =sum limits _{{alpha , eta ,gamma =1}}^{{chi }}sum limits _{{i,j=1}}^{{M}}lambda _{{alpha }}^{{[C-1]}}Gamma _{{alpha eta }}^{{[C]i}}lambda _{{ eta }}^{{[C]}}Gamma _{{ eta gamma }}^{{[D]j}}lambda _{{gamma }}^{{[D]}}|{{alpha }ij{gamma }}angle](https://wikimedia.org/api/rest_v1/media/math/render/svg/1b97f7590666536b92b0f50179ce6a53fe2018fc)
Použití stejného uvažování jako u OQG, použití TQG PROTI na qubits k, k +1 je třeba pouze aktualizovat
,
a ![Gamma ^{{[D]}}.](https://wikimedia.org/api/rest_v1/media/math/render/svg/451d9b71f144d445bdd441683d62331fbf440b0f)
Můžeme psát
tak jako:
![|{psi '}angle =sum limits _{{alpha ,gamma =1}}^{{chi }}sum limits _{{i,j=1}}^{{M}}lambda _{{alpha }}Theta _{{alpha gamma }}^{{ij}}lambda _{{gamma }}|{{alpha }ijgamma }angle](https://wikimedia.org/api/rest_v1/media/math/render/svg/1a6a5edc02805b09550a5cc4c29bc15b7cf5a6db)
kde
![Theta _{{alpha gamma }}^{{ij}}=sum limits _{{ eta =1}}^{{chi }}sum limits _{{m,n=1}}^{{M}}V_{{mn}}^{{ij}}Gamma _{{alpha eta }}^{{[C]m}}lambda _{{ eta }}Gamma _{{ eta gamma }}^{{[D]n}}.](https://wikimedia.org/api/rest_v1/media/math/render/svg/b6f31fe6c1d3a1e31959318453d53b8a320acf29)
Chcete-li zjistit nový rozklad, nový
je na pouto k a jejich odpovídající Schmidtovy vlastní vektory musí být vypočítány a vyjádřeny pomocí
je rozkladu D. Matice se sníženou hustotou
je tedy diagonálně:
![ho ^{{'[DK]}}=Tr_{{JC}}|{psi '}angle langle {psi '}|=sum _{{j,j',gamma ,gamma '}}ho _{{gamma gamma '}}^{{jj'}}|{jgamma }angle langle {j'gamma '}|.](https://wikimedia.org/api/rest_v1/media/math/render/svg/0238e45d984f6924c5668732004cd1dab38b9812)
Druhé odmocniny jeho vlastních čísel jsou nové
's. Vyjádření vlastních vektorů diagonalizované matice na základě:
the
jsou také získány:
![|{Phi ^{{'[{{DK}}]}}}angle =sum _{{j,gamma }}Gamma _{{ eta gamma }}^{{'[{{D}}]j}}lambda _{{gamma }}|{jgamma }angle .](https://wikimedia.org/api/rest_v1/media/math/render/svg/3d712d16c78ab2dd874bc73ab19736e3db949d0b)
Z levých vlastních vektorů
![lambda _{{ eta }}^{{'}}|{Phi _{{ eta }}^{{'[{{JC}}]}}}angle =langle {Phi _{{ eta }}^{{'[{DK}]}}}|{psi '}angle =sum _{{i,j,alpha ,gamma }}(Gamma _{{ eta gamma }}^{{'[{D}]j}})^{{*}}Theta _{{alpha gamma }}^{{ij}}(lambda _{{gamma }})^{2}lambda _{{alpha }}|{{alpha }i}angle](https://wikimedia.org/api/rest_v1/media/math/render/svg/fd34d2f5d06ca8706ff67acf8d08586acab95a83)
po jejich vyjádření v základu
,
jsou:
![|{Phi ^{{'[{{JC}}]}}}angle =sum _{{i,alpha }}Gamma _{{alpha eta }}^{{'[{{C}}]i}}lambda _{{alpha }}|{{alpha }i}angle .](https://wikimedia.org/api/rest_v1/media/math/render/svg/bf55898a8d30ebf779e1d0dca2ba9efd07c82216)
Výpočetní náklady
Dimenze největší tenzory v D je řádu
; při konstrukci
jeden provede součet
,
a
pro každého
, celkem tedy celkem
operace. Totéž platí pro formování prvků
, nebo pro výpočet levých vlastních vektorů
maximálně
, resp
základní operace. V případě qubits,
, proto jeho role není příliš důležitá pro řád počtu základních operací, ale v případě, že je rozměr na místě vyšší než dva, má poměrně rozhodující přínos.
Numerická simulace
Numerická simulace je zaměřena (možná časově závislá) na hamiltoniány systému
částice uspořádané do řady, které se skládají z libovolných OQG a TQG:
![{displaystyle H_{N}=sum limits _{l=1}^{N}K_{1}^{[l]}+sum limits _{l=1}^{N}K_{2}^{[l,l+1]}.}](https://wikimedia.org/api/rest_v1/media/math/render/svg/ca8768d9362fb510c27e48fb5d9db5664cd8900a)
Je užitečné se rozložit
jako součet dvou možná nedojíždějících podmínek,
, kde
![Fequiv sum _ {{even l}} (K_ {1} ^ {{l}} + K_ {2} ^ {{l, l + 1}}) = sum _ {{even l}} F ^ {{[ l]}},](https://wikimedia.org/api/rest_v1/media/math/render/svg/6cdddf52ec5b699a12a8d1861c30ec8729eeef2e)
![Gequivova součet _ {{odd l}} (K_ {1} ^ {{l}} + K_ {2} ^ {{l, l + 1}}) = součet _ {{odd l}} G ^ {{[ l]}}.](https://wikimedia.org/api/rest_v1/media/math/render/svg/b222aac3f5e7c2fee48f46354529f289e33a81e6)
Jakékoli podmínky dvou těl dojíždějí:
,
To se děje za účelem rozšíření Suzuki-Trotter (ST)[5] exponenciálního operátoru, pojmenovaného podle Masuo Suzuki a Hale Trotter.
Expanze Suzuki-Trotter
Rozšíření Suzuki-Trotter prvního řádu (ST1) představuje obecný způsob psaní exponenciálních operátorů:
![e ^ {{(A + B)}} = lim _ {{nightarrow infty}} {Bigl (} e ^ {{{frac {{A}} {n}}}} e ^ {{{frac {{B }} {n}}}} {Bigr)} ^ {n}](https://wikimedia.org/api/rest_v1/media/math/render/svg/3bda1d2eb7b96349aef375fef67f6a925030a455)
nebo ekvivalentně
![e ^ {{{delta} (A + B)}} = lim _ {{delta ightarrow 0}} [e ^ {{{delta} A}} e ^ {{{delta} B}}] + {{{ it {{O}}}}} (delta ^ {2}).](https://wikimedia.org/api/rest_v1/media/math/render/svg/41fbc66da78130dcd777e6808a2190f990bfc0f6)
Korekční člen v limitu zmizí ![delta ightarrow 0](https://wikimedia.org/api/rest_v1/media/math/render/svg/9026aa872f9b959878f0c737d82f9c54ea0b4c06)
Pro simulace kvantové dynamiky je užitečné použít operátory, které jsou unitární, zachování normy (na rozdíl od expanzí výkonových řad), a tam je místo, kde přichází expanze Trotter-Suzuki. U problémů kvantové dynamiky se jednotnost operátorů v expanzi ST ukazuje jako docela praktická, protože chyba má tendenci soustředit se na celkovou fáze, což nám umožňuje věrně vypočítat očekávané hodnoty a konzervované veličiny. Protože ST zachovává objem fázového prostoru, nazývá se také symplektický integrátor.
Trik ST2 spočívá v psaní unitárních operátorů
tak jako:
![{displaystyle e ^ {- iH_ {N} T} = [e ^ {- iH_ {N} delta}] ^ {T / {delta}} = [e ^ {{frac {delta} {2}} F} e ^ {{delta} G} e ^ {{frac {delta} {2}} F}] ^ {n}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/2ec53176e64f94bc9a1806e63fbd3d7d67916db4)
kde
. Číslo
se nazývá Trotterovo číslo.
Simulace vývoje času
Provozovatelé
,
lze snadno vyjádřit, protože:
![{displaystyle e ^ {{frac {delta} {2}} F} = prod _ {even l} e ^ {{frac {delta} {2}} F ^ {[l]}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/4bfa5b1d59792b7bad891c73d77922a236e006d6)
![{displaystyle e ^ {{delta} G} = prod _ {odd l} e ^ {{delta} G ^ {[l]}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/350d0654a0bb68f8e53abd812ba23d92d11fb13c)
protože libovolní dva operátoři
,
(respektive
,
) dojíždět za
a expanze ST prvního řádu udržuje pouze produkt exponenciálů, přičemž aproximace se v tomto případě stává přesnou.
Časový vývoj lze provést podle
![| {{ilde {psi}} _ {{t + delta}}} úhel = e ^ {{- i {frac {{delta}} {2}} F}} e ^ {{{- idelta} G}} e ^ {{{frac {{-idelta}} {2}} F}} | {{ilde {psi}} _ {{t}}} úhel.](https://wikimedia.org/api/rest_v1/media/math/render/svg/82889a1f2585ebac5e64cb75e4d6972765f6afd1)
Pro každý „časový krok“
,
se potom aplikují postupně na všechny liché stránky
na sudé a
opět k těm lichým; toto je v podstatě posloupnost TQG a bylo vysvětleno výše, jak aktualizovat rozklad
při jejich aplikaci.
Naším cílem je provést časový vývoj státu
na čas T, směrem ke státu
pomocí Hamiltoniánů s n-částicemi
.
Je poměrně obtížné, je-li to vůbec možné, vytvořit rozklad
pro libovolný stav n-částic, protože by to znamenalo, že je třeba spočítat Schmidtův rozklad na každé vazbě, uspořádat Schmidtova vlastní čísla v sestupném pořadí a vybrat první
a příslušné Schmidtovy vlastní vektory. Mějte na paměti, že by to znamenalo diagonalizaci poněkud velkorysých matic se sníženou hustotou, což může být v závislosti na systému, který člověk musí simulovat, úkol mimo náš dosah a trpělivost. Místo toho se můžete pokusit udělat následující:
i) postavit rozklad
pro jednoduchý počáteční stav, řekněme, nějaký stav produktu
, pro které je rozklad přímočarý.
ii) týkat se
do základního stavu
Hamiltonian
dostatečně lokální transformací Q (ta, kterou lze vyjádřit například jako produkt TQG) ![| {psi _ {0}} úhel = Q | {psi _ {{gr}}} úhel](https://wikimedia.org/api/rest_v1/media/math/render/svg/cde8e8ab1764a24b70a9994fdf05f25825e3027a)
iii) provést imaginární vývoj času směrem k základnímu stavu Hamiltonianů
,
podle:
![| {psi _ {{gr}}} úhel = lim _ {{au ightarrow infty}} {frac {e ^ {{- {ilde {H}} au}} | {psi _ {P}} úhel} {| | e ^ {{- {ilde {H}} au}} | {psi _ {P}} úhel ||}},](https://wikimedia.org/api/rest_v1/media/math/render/svg/5e8e6411423305f52f143d97eb619e796200eb83)
nebo alternativně simulovat izentropický vývoj pomocí časově závislého hamiltoniánu, který interpoluje mezi hamiltoniánem
, který má stav produktu
jako jeho základní stav a Hamiltonian
; vývoj musí být proveden dostatečně pomalu, aby byl systém vždy v základním stavu nebo alespoň velmi blízko.
iv)nakonec proveďte časový vývoj státu
vůči
pomocí hamiltoniánu
:
![| {psi _ {{{{}}}} úhel = e ^ {{- iH_ {n} T}} | {psi _ {0}} úhel](https://wikimedia.org/api/rest_v1/media/math/render/svg/99a565f3da9c9a2996690439098321e69bb2c942)
Zdroje chyb
Chyby v simulaci jsou výsledkem aproximace Suzuki-Trotter a souvisejícího zkrácení Hilbertova prostoru.
Chyby pocházející z expanze Suzuki-Trotter
V případě Trotterovy aproximace
objednávka, chyba je objednávky
. S přihlédnutím
kroky, chyba po čase T je:
![epsilon = {frac {T} {delta}} delta ^ {{p + 1}} = Tdelta ^ {p}](https://wikimedia.org/api/rest_v1/media/math/render/svg/cbc56b4ba535030019cf6029967f00c5cfb6c957)
Nepřibližný stav
je:
![| {{ilde {psi}} _ {{Tr}}} úhel = {sqrt {1- {epsilon} ^ {2}}} | {psi _ {{Tr}}} úhel + {epsilon} | {psi _ {{Tr}} ^ {{ot}}} úhel](https://wikimedia.org/api/rest_v1/media/math/render/svg/ec392f949ab93bce9a23ea2580d5c9bb99074116)
kde
je stav uchovaný po rozšíření Trotter a
odpovídá za část, která je při rozšiřování zanedbána.
Celková chyba se mění s časem
tak jako:
![epsilon ({{{{{{T}}}}}}) = 1- | langle {{ilde {psi _ {{Tr}}}}} | {psi _ {{{Tr}}}} úhel | ^ {2} = 1-1 + epsilon ^ {2} = epsilon ^ {2}](https://wikimedia.org/api/rest_v1/media/math/render/svg/fb0884240ad09cd110829c8be352b93836dcb5d8)
Chyba klusáku je nezávislý rozměr řetězu.
Chyby pocházející ze zkrácení Hilbertova prostoru
Vezmeme-li v úvahu chyby vyplývající ze zkrácení Hilbertova prostoru obsaženého v rozkladu D, jsou dvojí.
Nejprve, jak jsme viděli výše, nejmenší příspěvky do Schmidtova spektra zůstávají stranou, stát je věrně zastoupen až:
![epsilon ({{{{{{D}}}}}}) = limity 1-prod _ {{n = 1}} ^ {{N-1}} (1-epsilon _ {n})](https://wikimedia.org/api/rest_v1/media/math/render/svg/39ba7a7f12ae43f3b4a7375310ad22f8fe9f34b2)
kde
je součet všech vyřazených vlastních čísel matice snížené hustoty ve vazbě
.Stát
je v dané vazbě
, popsaný Schmidtovým rozkladem:
![| {psi} angle = {sqrt {1-epsilon _ {n}}} | {psi _ {{D}}} úhel + {sqrt {epsilon _ {n}}} | {psi _ {{D}} ^ {{ot}}} úhel](https://wikimedia.org/api/rest_v1/media/math/render/svg/09b23adf9ba0e3f2e24eb251e53bf22b232cbc98)
kde
![| {psi _ {{D}}} úhel = {frac {1} {{sqrt {1-epsilon _ {n}}}}} limity součtu _ {{{{alfa} _ {n}} = 1}} ^ {{{{chi} _ {c}}} lambda _ {{{{alfa} _ {n}}} ^ {{[n]}} | {Phi _ {{alpha _ {n}}} ^ {{[ 1..n]}}} úhel | {Phi _ {{alpha _ {n}}} ^ {{[n + 1..N]}}} úhel](https://wikimedia.org/api/rest_v1/media/math/render/svg/72d5ab451cdbea11e800b18342d98cf5190b951e)
je stav uchovaný po zkrácení a
![| {psi _ {{D}} ^ {{ot}}} úhel = {frac {1} {{sqrt {epsilon _ {n}}}}} limity součtu _ {{{{alfa} _ {n}} = {chi} _ {c}}} ^ {{{{chi}}} lambda _ {{{alpha} _ {n}}} ^ {{[n]}} | {Phi _ {{alpha _ {n} }} ^ {{[1..n]}}} úhel | {Phi _ {{alpha _ {n}}} ^ {{[n + 1..N]}}} úhel](https://wikimedia.org/api/rest_v1/media/math/render/svg/23da11734852032aaa14da64c7aa949100eb7b09)
je stav tvořený vlastními funkcemi odpovídajícími nejmenším irelevantním Schmidtovým koeficientům, které jsou zanedbávány.
protože jsou překlenuty vektory odpovídajícími ortogonálním prostorům. Při použití stejného argumentu jako u rozšíření Trotter je chyba po zkrácení:
![epsilon _ {n} = 1- | langle {psi} | psi _ {{D}} úhel | ^ {2} = limity součtu _ {{alpha = chi _ {c}}} ^ {{chi}} (lambda _ {{alpha}} ^ {{[n]}}) ^ {2}](https://wikimedia.org/api/rest_v1/media/math/render/svg/96e7901ba30cd4076f15db39ef00c12aaf0bee06)
Po přechodu na další pouto je stát podobně:
![| {psi _ {{D}}} úhel = {sqrt {1-epsilon _ {{n + 1}}}} | {{{psi} '} _ {{D}}} úhel + {sqrt {epsilon _ {{n + 1}}}} | {{psi '} _ {{D}} ^ {{ot}}} úhel](https://wikimedia.org/api/rest_v1/media/math/render/svg/931696b34bffb456b1fcc4f7c0a9b6e5474a3a0d)
Chyba po druhém zkrácení je:
![epsilon = 1- | langle {psi} | psi '_ {{D}} úhel | ^ {2} = 1- (1-epsilon _ {{n + 1}}) | langle {psi} | psi _ {{ D}} úhel | ^ {2} = 1- (1-epsilon _ {{n + 1}}) (1-epsilon _ {{n}})](https://wikimedia.org/api/rest_v1/media/math/render/svg/ffcf85ea49a61d106ba544a3c5e2861dd2856467)
a tak dále, jak se pohybujeme od vazby k vazbě.
Druhý zdroj chyby zahrnutý do rozkladu
je jemnější a vyžaduje trochu výpočtu.
Jak jsme vypočítali dříve, normalizační konstanta po provedení zkrácení ve vazbě
je:
![R = {sum limits _ {{{alpha _ {l}} = 1}} ^ {{{chi} _ {c}}} {| lambda _ {{{alpha} _ {l}}} ^ {{[ l]}} |} ^ {2}} = {1-epsilon _ {l}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/5685f681e93c9a423359f21680e37fbe986e4139)
Nyní pojďme k pouto
a vypočítat normu pravých Schmidtových vektorů
; s přihlédnutím k celé Schmidtově dimenzi je normou:
,
kde
.
S přihlédnutím ke zkrácenému prostoru je normou:
![n _ {{2}} = součet limitů _ {{alpha _ {l} = 1}} ^ {{chi _ {c}}} (c _ {{alpha _ {{{{l-1}}}} alpha _ {{l}}}}) ^ {2} cdot ({lambda '} _ {{alpha _ {l}}} ^ {{[l]}}) ^ {2} = limity součtu _ {{alfa _ { l} = 1}} ^ {{chi _ {c}}} (c _ {{alpha _ {{{{{l-1}}}} alpha _ {{l}}}}) ^ {2} {frac { (lambda _ {{alpha _ {l}}} ^ {{[l]}}) ^ {2}} {R}} = {frac {S_ {1}} {R}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/e7840d029e2de54ead16a60a9416a94329d72514)
Vezmeme-li rozdíl,
, dostaneme:
![epsilon = {frac {S_ {1}} {R}} - 1leq {frac {1-R} {R}} = {frac {epsilon _ {l}} {1-epsilon _ {l}}} {ightarrow} 0 jako {{epsilon _ {l} {ightarrow} {{0}}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/589c02aa3fd3d668b8a1851083c37a5d1d0952de)
Při konstrukci matice se sníženou hustotou tedy stopa matice se vynásobí faktorem:
![| langle {psi _ {{D}}} | psi _ {{D}} úhel | ^ {2} = 1- {frac {epsilon _ {l}} {1-epsilon _ {l}}} = {frac {1–2 epsilon _ {l}} {1-epsilon _ {l}}}](https://wikimedia.org/api/rest_v1/media/math/render/svg/35d42721825a774d2578ea970a5967cc50b73758)
Celková chyba zkrácení
Celková chyba zkrácení, s ohledem na oba zdroje, je horní hranice:
![epsilon ({{{{}}}}) = 1-prod limity _ {{n = 1}} ^ {{N-1}} (1-epsilon _ {n}) prod-limity _ {{n = 1 }} ^ {{N-1}} {frac {1-2epsilon _ {n}} {1-epsilon _ {n}}} = limity 1-prod _ {{n = 1}} ^ {{N-1 }} (1-2epsilon {{}})](https://wikimedia.org/api/rest_v1/media/math/render/svg/b3dba610f3c61e47db14dfe118d100b9344562b3)
Při použití Trotterovy expanze se nepohybujeme od vazby k vazbě, ale mezi vazbami stejné parity; navíc pro ST2 provedeme tažení sudých a dva pro liché. Výpočet uvedený výše však stále platí. Chyba se vyhodnotí postupným vynásobením normalizační konstanty pokaždé, když sestavíme matici snížené hustoty a vybereme její vlastní vlastní čísla.
„Adaptivní“ Schmidtova dimenze
One thing that can save a lot of computational time without loss of accuracy is to use a different Schmidt dimension for each bond instead of a fixed one for all bonds, keeping only the necessary amount of relevant coefficients, as usual. For example, taking the first bond, in the case of qubits, the Schmidt dimension is just two. Hence, at the first bond, instead of futilely diagonalizing, let us say, 10 by 10 or 20 by 20 matrices, we can just restrict ourselves to ordinary 2 by 2 ones, thus making the algorithm generally faster. What we can do instead is set a threshold for the eigenvalues of the SD, keeping only those that are above the threshold.
TEBD also offers the possibility of straightforward parallelization due to the factorization of the exponential time-evolution operator using the Suzuki-Trotter expansion. A parallel-TEBD has the same mathematics as its non-parallelized counterpart, the only difference is in the numerical implementation.
Reference