ςϯιϧωοτϫʔΫ๏ೖ໳ʢ࣮शʣ౦େཧɹେ‫ٱ‬อɹ‫ؽ‬࣮शͷྲྀΕ•••••࣮शͷ४උ•ߨٛͷgithubαΠτΛ։͘•ϊʔτϒοΫͷ࢖͍ํ࿅श࣮श̌ɿϞϯςΧϧϩγϛϡϨʔγϣϯ•Snap shotͷ‫࡯؍‬•ਖ਼ํ֨ࢠΠδϯά໛‫ܕ‬ͷ෺ཧྔ‫ࢉܭ‬࣮श1ɿςϯιϧ‫܁‬ΓࠐΈ•ਖ਼ํ֨ࢠΠδϯά໛‫ܕ‬ͷࣗ༝ΤωϧΪʔ‫ࢉܭ‬•༗‫Ͱܥݶ‬ͷϞϯςΧϧϩ๏ͱͷൺֱ࣮श2ɿߦྻੵঢ়ଶ•ແ‫ܥݶ‬ͷਖ਼ํ֨ࢠΠδϯά໛‫ܕ‬ͷࣗ༝ΤωϧΪʔ‫ࢉܭ‬•ςϯιϧ‫܁‬ΓࠐΈͱͷൺֱશମͷ·ͱΊ࣮शͷ४උ̍ɿ‫ڥ؀‬ͷ४උ•ϒϥ΢βͰߨٛͷgithubʹߦ͘••

https://github.com/TsuyoshiOkubo/Introduction-to-TensorNetwork͜ͷεϥΠυͷμ΢ϯϩʔυ•্‫ه‬αΠτ͔Βʮ‫ࢉܭ‬෺ཧय़ͷֶߍ2023ɿςϯιϧωοτϫʔΫ๏ೖ໳ʢ࣮शʣ.pdfʯͱ͍͏ϑΝΠϧΛμ΢ϯϩʔυ࣮शͷ४උ̎ɿϊʔτϒοΫͷgoogle colabͰͷ࣮ߦ•νϡʔτϦΞϧϑΝΠϧͷ४උ•

github ͷத਎••https://github.com/TsuyoshiOkubo/Introduction-to-Tensor-Network

Exercise ϑΥϧμͷத਎•Ex0-1.ipynb, Ex0-2.ipynb, Ex0-3.ipynb

࣮शϑΝΠϧͷຊମ•Ex1-1.ipynb, Ex1-2.ipynb, Ex1-3.ipynb•

Ex2-1.ipynb, Ex2-2.ipynb•

Ising_lib.py•

TRG_lib.py•

classical_iTEBD_lib.py•

exact_output/‫ີݫ‬ղͷ݁Ռ•

outputs/࣮ߦࡁΈ‫݁ࢉܭ‬ՌʢͷҰ෦ʣΞϧΰϦζϜͷϞδϡʔϧ࣮शͷ‫ج‬ຊతͳྲྀΕ
1. Ex*.ipynb Λgoogle colabͰ։͘•ʮυϥΠϒʹίϐʔʯ

2. Ex*.ipynbΛͦͷ··࣮ߦͯ݁͠ՌΛ֬ೝ
3. ΠϯϓοτͳͲΛม͑ͯɺ݁ՌͷมԽΛ֬ೝˎ‫׳‬Ε͍ͯΔํ͸local ͷ‫ͯ͠ߦ࣮Ͱڥ؀‬΋OKͰ͢ɻ•ඞཁͳϞδϡʔϧɿ ••numpyscipy
numba࣮श̌ɿ ʢൺֱͷͨΊʣϞϯςΧϧϩγϛϡϨʔγϣϯ

MCMCͷ࣮शɿฏߧγϛϡϨʔγϣϯ•ਖ਼ํ֨ࢠΠδϯά໛‫ܕ‬ͷγϛϡϨʔγϣϯ••

T=Tc Ͱ࿈ଓ૬సҠ•T>Tcɿৗ࣓ੑ૬•T<Tcɿ‫࣓ڧ‬ੑ૬‫ݹ‬యϞϯςΧϧϩ๏ʢϝτϩϙϦε๏ʣͷγϛϡϨʔγϣϯΛ࣮ߦͯ͠ɺฏߧঢ়ଶͷ෺ཧྔɺ࣌ؒมԽɺεϐϯ഑ஔΛΈΔ

Ex0-1ɿΠδϯά໛‫ܕ‬ͷγϛϡϨʔγϣϯ
1. Google colabͰEx0-1.ipynbΛ։͘•͜ΕΛΫϦοΫ

2. ʮυϥΠϒʹίϐʔʯ

3. ϥϯλΠϜ/શͯͷηϧΛ࣮ߦ•

30~40ඵ͘Β͍ͰऴΘΔ͸ͣ•ҎԼͷਤͳͲ͕ग़ྗ͞Ε͍ͯΕ͹OK

Ex0-1.ipynbͷinput
MCMCͰਖ਼ํ֨ࢠΠδϯά໛‫ܕ‬ͷ෺ཧྔΛ‫͢·͠ࢉܭ‬2൪໨ͷηϧͰΠϯϓοτύϥϝλΛมߋͰ͖·͢ʢมߋͨ͠Β"͢΂ͯͷηϧΛ࣮ߦ"ʣ‫ͳີݫ‬Tcʢมߋ͠ͳ͍ʣ
L: γεςϜαΠζ
T: Թ౓
h: ࣓৔ʢࠓճ͸‫ج‬ຊతʹ0ʣΞϧΰϦζϜཚ਺ͷλωߨٛͰઆ໌ͨ͠ɾϝτϩϙϦε๏ͷଞʹɺʢ஫ʣಉ͡λωͩͱɺಉ݁͡Ռɾ೤ཋ๏ʢheatbath)ʢNoneͩͱຖճҧ͏ʣ΋બ΂·͢ɾSwendsen-Wang ๏ʢclusterʣ෺ཧྔΛ‫ʹͣͤࢉܭ‬ɺMCMCΛߦ͏step਺ʢॳ‫ظ‬ঢ়ଶґଘੑΛগͳ͘͢ΔͨΊʣ෺ཧྔΛ‫͢ࢉܭ‬Δstep਺Ex0-1.ipynbͷoutput

෺ཧྔͱ‫ࠩޡ‬ʢJackknife๏ʣ෺ཧྔͷμΠφϛΫε

࠷ऴঢ়ଶͷsnapshot࣮श0-1•

Թ౓TΛ T > Tc, T = Tc, T < Tc ͳͲͰม͑ͯΈͯɺμΠφϛΫεɺεφοϓγϣοτͷҧ͍Λ‫؍‬ଌ͢Δ••෺ཧྔʹΑͬͯμΠφϛΫε͕ҧ͏৔߹ʢྫɿ௿Թͷ࣓Խʣ(optional) Թ౓Λ‫ݻ‬ఆͯ͠LΛม͑ͯΈͯɺμΠφϛΫεͷҧ͍Λ‫؍‬ଌ͢Δ•ಛʹT=Tc ۙ๣ͰɺLͷ૿େͰμΠφϛΫε͕஗͘ͳΔ͸ͣ•μΠφϛΫε͕"Ώͬ͘Γ"ʹͳΔͱ෺ཧྔͷ‫͕ࠩޡ‬େ͖͘ͳΔ

Ex0-2ɿԹ౓ґଘੑͷղੳ
1. Google colabͰEx0-1.ipynbΛ։͘•͜ΕΛΫϦοΫ

2. ʮυϥΠϒʹίϐʔʯ

3. ϥϯλΠϜ/શͯͷηϧΛ࣮ߦ•1෼ఔͰऴΘΔ͸ͣ•ҎԼͷਤͳͲ͕ग़ྗ͞Ε͍ͯΕ͹OK

Ex0-2.ipynbͷinputMCMCͰਖ਼ํ֨ࢠΠδϯά໛‫ܕ‬ͷ෺ཧྔΛ‫͢·͠ࢉܭ‬2൪໨ͷηϧͰΠϯϓοτύϥϝλΛมߋͰ͖·͢ʢมߋͨ͠Β"͢΂ͯͷηϧΛ࣮ߦ"ʣ
Ex0-1.ipynb͔Β௥Ճɾมߋ͕͋ͬͨ෦෼
Trueʹ͢Δͱ‫ࢉܭ‬͸ͤͣplot্͚ͩ‫͕ه‬Trueͷ࣌͸input_ le໊ɺFalseͷ࣌͸output le໊‫͢ࢉܭ‬ΔLͷϦετʢ͜ͷྫͰ͸ɺL=8, 16,32Λ‫ࢉܭ‬ʣ‫͢ࢉܭ‬ΔTͷੜ੒ɻ͜ͷྫͰ͸ɺ
T_min = 2.0, T_max = 2.7ͰԹ౓ִؒ T_step = 0.02ͷ‫ࢉܭ‬‫ݪ‬ཧతʹ͸LຖʹҟͳΔԹ౓ηοτͰ‫͖Ͱࢉܭ‬Δfi

fi

ʢࠓͷॻ͖ํͰ͸ɺશͯͷLͰ‫ڞ‬௨ͷԹ౓ηοτʣ࣮ߦ݁Ռͷμ΢ϯϩʔυ
Google colabͷηογϣϯ͕ऴྃ͢Δͱdata_ leͳͲ͸ফ͑·͢ɻඞཁͰ͋Ε͹ɺదٓμ΢ϯϩʔυ͍ͯͩ͘͠͞

1. ͜ΕΛΫϦοΫ

2. ͜ΕΛΫϦοΫͯ͠μ΢ϯϩʔυΛબͿˎ‫Ͱޙ‬ςϯιϧ‫܁‬ΓࠐΈ‫ͱ܈‬ͷൺֱʹfi

࢖͍·͢

Ex0-2.ipynbͷoutput෺ཧྔͷԹ౓ґଘੑɿ••••ΤωϧΪʔൺ೤࣓Խͷ̎৐࣓Խ཰‫͜Ͳݟ‬Ζɿ• ෺ཧྔ͸‫ࠩޡ‬Λ‫ؚ‬ΜͰ͍Δ••Τϥʔόʔͷେ͖͞͸ɺԹ౓ɺαΠζɺ෺ཧྔʹґଘൺ೤΍࣓Խ཰͸Tcۙ๣ʹϐʔΫ•L ͷ૿େͰਅͷTcʹۙͮ͘࣮श0-2•ϞϯςΧϧϩεςοϓʢobservationʣΛ૿‫ͯͤ͞ݮ‬ΤϥʔόʔͷมԽΛ‫ݟ‬Α͏•ϞϯςΧϧϩεςοϓΛ૿΍͢ͱΤϥʔόʔ͸ͪΌΜͱ‫ݮ‬Δʁ••ʢॳ‫ظ‬ʣobservation = 10000 → 40000 ʹมߋͯ͠ΈΔͱʁϦετʹL=64 Λ௥Ճͯ͠ৼΔ෣͍Λ‫ݟ‬Α͏•‫ؒ࣌ࢉܭ‬͸Ͳ͏ͳΔ͔ʁʢ్தͷηϧʹ͕࣌ؒग़ྗ͞ΕͯΔʣ

•observationΛ‫ݻ‬ఆͨ͠··ͩͱL=64ͷΤϥʔόʔͲ͏ͳΔʁˎ͜ͷ݁ՌΛอଘ͓ͯ͘͜͠ͱਪ঑

࣮श1ɿςϯιϧωοτϫʔΫ‫܁‬ΓࠐΈ‫܈‬ςϯιϧ‫܁‬ΓࠐΈ‫܈‬•෼഑ؔ਺ͷςϯιϧωοτϫʔΫද‫ݱ‬ΛૈࢹԽ͍ͯ͘͜͠ͱͰɺۙࣅతʹ෼഑ؔ਺Λ‫͢ࢉܭ‬Δ••ૈࢹԽ⟷࣮ۭؒ‫܁‬ΓࠐΈ‫܈‬ΞϧΰϦζϜ͸ʮಛҟ஋෼ղʯͱʮςϯιϧͷॖ໿ʯΛ‫܁‬Γฦ͚ͩ͢ͷ୯७ͳ΋ͷͰ͋Γɺྫ͑͹ɺpythonͷ਺஋‫ࢉܭ‬ϥΠϒϥϦNumPyΛ༻͍Ε͹ɺඇৗʹ؆୯ʹ࣮૷Ͱ͖Δ•छʑͷ֨ࢠ໛‫ʹܕ‬ద༻Մೳ•෼഑ؔ਺Λද͢ςϯιϧ͑͞४උ͢Ε͹ɺΞϧΰϦζϜʢϓϩάϥϜʣ͸छʑͷ໛‫ʹܕ‬ద༻Մೳ•෺ੑ෼໺͚ͩͰͳ͘ɺૉཻࢠɾ‫֩ࢠݪ‬෼໺Ͱ΋ۙ೥‫͕ڀݚ‬ਐΜͰ͍ΔTRGͷ࣮श಺༰•ਖ਼ํ֨ࢠΠδϯά໛‫ܕ‬ͷγϛϡϨʔγϣϯ
1. ࣗ༝ΤωϧΪʔͷ‫ີݫͱࢉܭ‬ղͱͷൺֱ
2. ࠩ෼ʹΑΔɺൺ೤ɺΤωϧΪʔͷ‫ࢉܭ‬
3. ࣮श̌ͰߦͬͨϞϯςΧϧϩγϛϡϨʔγϣϯͱͷൺֱ

Ex1-1ɿTRGͷ࣮ߦͱ‫ີݫ‬ղͱͷൺֱ
1. Google colabͰEx1-1.ipynbΛ։͘•͜ΕΛΫϦοΫ

2. ʮυϥΠϒʹίϐʔʯ

3. ϥϯλΠϜ/શͯͷηϧΛ࣮ߦ•਺ेඵͰऴΘΔ͸ͣ•ҎԼͷਤͳͲ͕ग़ྗ͞Ε͍ͯΕ͹OK

Ex1-1.ipynbͷinput
TRGͰਖ਼ํ֨ࢠΠδϯά໛‫ܕ‬ͷ෺ཧྔΛ‫͢·͠ࢉܭ‬2൪໨ͷηϧͰΠϯϓοτύϥϝλΛมߋͰ͖·͢ʢมߋͨ͠Β"͢΂ͯͷηϧΛ࣮ߦ"ʣ‫ͳີݫ‬Tcʢมߋ͠ͳ͍ʣ
L=2n: γεςϜαΠζɻnͰࢦఆ
T_min, T_max, T_step: Թ౓Dɿ௿ϥϯΫۙࣅͷύϥϝλʢϘϯυ࣍‫ݩ‬ʣEx1-1.ipynbͷoutputTRGʹΑΔࣗ༝ΤωϧΪʔ*‫ີݫ‬ղ͸౻ಊઌੜͷexact ϥΠϒϥϦΛ࢖ͬͯ‫ͨ͠·͠ࢉܭ‬ɻ
https://github.com/todo-group/exactࠩ෼ۙࣅͰ‫ٻ‬ΊͨΤωϧΪʔࠩ෼ۙࣅͰ‫ٻ‬Ίͨൺ೤࣮श1-1•

L (=2n) Λม͑ͯΈͯɺ‫ؒ࣌ࢉܭ‬ͷมԽΛ֬ೝ͢Δ••DΛม͑ͯɺ‫ؒ࣌ࢉܭ‬ͷมԽΛ֬ೝ͢Δ••n͕1૿͑ΔͱL͸2ഒʹͳΔ͕ɺ‫ؒ࣌ࢉܭ‬͸Ͳ͏มΘΔ͔ʁ

ʢิ଍৘ใʣTRGʹ͓͚ΔSVDͱςϯιϧͷॖ໿ͷ‫ࢉܭ‬ίετ͸O(D6)DΛม͑ͯɺ෺ཧྔͷਫ਼౓Λ֬ೝ͢Δ•

ࣗ༝ΤωϧΪʔ͸਺ࣈΛൺ΂Δͱ෼͔Γ΍͍͢•෺ཧྔ͸άϥϑͰൺ΂ΔͱΑ͍••෺ཧྔ͸ࠩ෼ۙࣅͰ‫ٻ‬Ί͍ͯΔɻ͜ͷۙࣅਫ਼౓͸T_stepΛখ͘͢͞Δ͜ͱͰ্͛Δ͜ͱ͕Ͱ͖Δ•‫ີݫ‬ղͱͷࠩ͸Թ౓ʹΑͬͯͲ͏มΘ͍ͬͯΔ͔ʁ

DΛ‫ݻ‬ఆͨ͠··LΛม͑ΔͱͲ͏ͳΔ͔ʁEx1-2ɿෳ਺αΠζͰͷTRGͷ࣮ߦ
1. Google colabͰEx1-2.ipynbΛ։͘•͜ΕΛΫϦοΫ

2. ʮυϥΠϒʹίϐʔʯ

3. ϥϯλΠϜ/શͯͷηϧΛ࣮ߦ•਺ेඵͰऴΘΔ͸ͣ•ҎԼͷਤͳͲ͕ग़ྗ͞Ε͍ͯΕ͹OK*࣍ͷ࣮शͰ࢖͏ͷͰɺ࣮ߦ݁Ռʢtrgdata_ex1-2_D4.datʣΛμ΢ϯϩʔυ͓͍͍ͯͯͩ͘͠͞

Ex1-2.ipynbͷinput
TRGͰਖ਼ํ֨ࢠΠδϯά໛‫ܕ‬ͷ෺ཧྔΛ‫͢·͠ࢉܭ‬2൪໨ͷηϧͰΠϯϓοτύϥϝλΛมߋͰ͖·͢ʢมߋͨ͠Β"͢΂ͯͷηϧΛ࣮ߦ"ʣ
L=2n: γεςϜαΠζɻn_min ~ n_max·Ͱ‫ࢉܭ‬T_min, T_max, T_step: Թ౓Dɿ௿ϥϯΫۙࣅͷύϥϝλʢϘϯυ࣍‫ݩ‬ʣ

data_ leɿ‫݁ࢉܭ‬ՌΛ‫ه‬࿥͢ΔϑΝΠϧ໊ɻ͜͜Ͱ͸ɺDʹԠͯ͡ҧ͏໊લʹͳΔΑ͏ʹ͍ͯ͠Δ*google colabͷηογϣϯ͕ऴྃ͢Δͱdata_ leͳͲ͸ফ͑·͢ɻfifiඞཁͰ͋Ε͹ɺదٓμ΢ϯϩʔυ͍ͯͩ͘͠͞

Ex1-2.ipynbͷoutputࠩ෼ۙࣅͰ‫ٻ‬ΊͨΤωϧΪʔࠩ෼ۙࣅͰ‫ٻ‬Ίͨൺ೤‫͜Ͳݟ‬Ζɿ
•෺ཧྔʹ͸౷‫ࠩޡܭ‬͸ͳ͘ɺσʔλ͸‫׈‬Β͔•DʹΑͬͯ͸ɺࣗ༝ΤωϧΪʔͷෆ࿈ଓੑʹ‫ى‬Ҽ͢Δҟৗ͕ग़Δ৔߹΋͋Δ࣮श1-2ʢ1-1Ͱ΍͍ͬͯΕ͹΍Βͳͯ͘΋ྑ͍ʣ•D΍T_stepΛม͑ͯɺ෺ཧྔͷมԽΛ֬ೝ͢Δ•େ͖ͳLͷ‫ࢉܭ‬΋ߦ͍ɺ෺ཧྔͷLґଘੑΛ֬ೝ͢Δ•

େ͖ͳLͰൺ೤͸ൃࢄ͢ΔͩΖ͏͔ʁEx1-3ɿϞϯςΧϧϩ๏ͱTRGͷൺֱ
1. Google colabͰEx1-2.ipynbΛ։͘•͜ΕΛΫϦοΫ

2. ʮυϥΠϒʹίϐʔʯ3. ϑΝΠϧͷΞοϓϩʔυ͜ΕΛΫϦοΫͯ͠อଘ͓͍ͯͨ͠
mc_ex0-2.datͱtrg_ex1-2_D4.datΛΞοϓϩʔυ
ʢ࣮͸upload͠ͳͯ͘΋ɺgithub͔Βࣄલʹ‫݁ͨ͠ࢉܭ‬ՌΛࣗಈͰμ΢ϯϩʔυͯ͘͠ΕΔͱࢥ͍·͢ɻʣEx1-3ɿϞϯςΧϧϩ๏ͱTRGͷൺֱ
1. Google colabͰEx1-3.ipynbΛ։͘
2. ͜ΕΛΫϦοΫʢ઀ଓ͢Δ·Ͱগ͠଴ͭʣ

3. ͜ΕΛΫϦοΫͯ͠อଘ͓͍ͯͨ͠
mc_ex0-2.datͱtrg_ex2-2_D4.datΛΞοϓϩʔυʢอଘ͠๨Εͯͨ৔߹͸ɺ࠶౓‫͢ࢉܭ‬Δ͔ɺ഑෍ϑΝΠϧͷ”outputs/"ͷதͷ΋ͷΛ࢖͏ʣEx1-3ɿϞϯςΧϧϩ๏ͱTRGͷൺֱ
4. ্෦ϝχϡʔ͔Β"ϥϯλΠϜ/͢΂ͯͷηϧΛ࣮ߦ"ΛબͿ•͙͢ʹऴΘΔ͸ͣ•Լͷํ·ͰεΫϩʔϧͯ͠ɺҎԼͷਤͳͲ͕ग़ྗ͞Ε͍ͯΕ͹OK

Ex1-3.ipynbͷinputϞϯςΧϧϩ๏ͱTRG݁ՌΛಡΈ͜ΜͰϓϩοτ͠·͢2൪໨ͷηϧͰΠϯϓοτύϥϝλΛมߋͰ͖·͢ʢมߋͨ͠Β"͢΂ͯͷηϧΛ࣮ߦ"ʣ

T_min, T_max: ϓϩοτ͢ΔԹ౓ൣғ݁Ռ͕‫ه‬࿥͞Ε͍ͯΔϑΝΠϧ໊ʢ஫ʣϞϯςΧϧϩ๏ͱTRGͰɺಉ͡L͕‫͞ࢉܭ‬Ε͍ͯΔ͜ͱΛԾఆ͍ͯ͠·͢ɻLͷηοτ͕ͣΕ͍ͯΔͱɺϓϩοτͨ͠ࡍʹɺɾຌྫ͕ਖ਼͘͠ͳ͘ͳΔɾҟͳΔL͕ಉ͡৭ʹͳΔʘͳͲͷෆ۩߹͕ੜ͡·͢ɻԹ౓ൣғɺࠁΈ͸ҟͳ͍ͬͯͯ໰୊͋Γ·ͤΜɻEx1-3.ipynbͷoutput
ϞϯςΧϧϩ๏ͱTRGʹΑͬͯಘΒΕͨΤωϧΪʔɾൺ೤Λಉ࣌ϓϩοτ‫͜Ͳݟ‬Ζɿ•ϞϯςΧϧϩ๏ͱTRGͷ݁ՌɺL, DʹΑͬͯ͸ζϨ͕େ͖͍৔߹͕͋Δ

࣮श3•

ҎલͷEx1-2.ipynb΍
Ex2-2.ipynbͰύϥϝλΛม࣮͑ͯߦͨ݁͠ՌΛϓϩοτͯ͠ΈΑ͏•‫݁ࢉܭ‬ՌΛΞοϓϩʔυͯ͠ɺಡΈࠐΉϑΝΠϧ໊Λద੾ʹมߋ࣮ͯ͠ߦ͢Ε͹Α͍ɻ•ϞϯςΧϧϩ๏ͱTRGͷζϨ͸ɺ‫ࢉܭ‬ͷύϥϝλʹΑͬͯͲ͏มΘΔͩΖ͏͔ʁ•

TRGʹ͸‫ܥ‬౷‫͕ࠩޡ‬ɺϞϯςΧϧϩ๏ʹ͸౷‫͕͋ࠩޡܭ‬Δ͜ͱʹ஫ҙ࣮श2ɿߦྻੵঢ়ଶ๏ߦྻੵঢ়ଶ๏•ϕΫτϧʢςϯιϧʣΛߦྻͷੵͰ෼ղͯۙ͠ࣅ͢Δද‫ํݱ‬๏••෼഑ؔ਺ͷςϯιϧωοτϫʔΫද‫ݱ‬ͷॖ໿ʹ͓͍ͯɺసૹߦྻͷ‫ݻ‬༗ϕΫτϧΛ‫͢ࢉܭ‬Δࡍʹར༻Մೳ••ߦྻੵঢ়ଶʢMPSʣɺtensor train decompositionࠓճ͸ಛʹɺiMPSΛ༻͍ͯɺແ‫ܥݶ‬ͷ‫ࢉܭ‬Λߦ͏

ରԠ͢ΔMPSͷ‫ࢉܭ‬͸ɺஞ࣍తʹసૹߦྻΛ͔͚͍͚ͯ͹ྑ͍•సૹߦྻΛ͔͚Δ‫ࢉܭ‬͸ɺiTEBDͰޮ཰తʹۙࣅͰ͖Δɻߦྻੵঢ়ଶͷ࣮श಺༰•ແ‫ܥݶ‬ͷਖ਼ํ֨ࢠΠδϯά໛‫ܕ‬ͷγϛϡϨʔγϣϯ
1. ࣗ༝ΤωϧΪʔʢͱ࣓Խʣͷ‫ີݫͱࢉܭ‬ղͱͷൺֱ
2. ςϯιϧ‫܁‬ΓࠐΈ‫ͱ܈‬ͷൺֱ

Ex2-1ɿߦྻੵঢ়ଶ‫ࢉܭ‬ͷ࣮ߦͱ‫ີݫ‬ղͱͷൺֱ
1. Google colabͰEx2-1.ipynbΛ։͘•͜ΕΛΫϦοΫ

2. ʮυϥΠϒʹίϐʔʯ

3. ϥϯλΠϜ/શͯͷηϧΛ࣮ߦ•

2෼͘Β͍ͰऴΘΔ͸ͣ•ҎԼͷਤͳͲ͕ग़ྗ͞Ε͍ͯΕ͹OK

Ex2-1.ipynbͷinput
iTEBDͰແ‫ܥݶ‬ͷਖ਼ํ֨ࢠΠδϯά໛‫ܕ‬ͷ෺ཧྔΛ‫͢·͠ࢉܭ‬2൪໨ͷηϧͰΠϯϓοτύϥϝλΛมߋͰ͖·͢ʢมߋͨ͠Β"͢΂ͯͷηϧΛ࣮ߦ"ʣ‫ͳີݫ‬Tcʢมߋ͠ͳ͍ʣ
T_min, T_max, T_step: Թ౓chi_maxɿ௿ϥϯΫۙࣅͷύϥϝλʢϘϯυ࣍‫ݩ‬ʣmax_itrɿసૹߦྻΛ࠷େԿճ͔͚Δ͔
seedɿiMPSͷॳ‫ظ‬ςϯιϧΛ࡞Δཚ਺ͷλω

Ex2-1.ipynbͷoutput
iTEBDʹΑΔࣗ༝ΤωϧΪʔɺ࣓Խɺ૬ؔ௕

૬ؔ௕ࠩ෼ۙࣅͰ‫ٻ‬Ίͨൺ೤࣮श2-1••

chi_maxΛม͑ͯɺ‫ؒ࣌ࢉܭ‬ͷมԽΛ֬ೝ͢Δ•

ʢิ଍৘ใʣiTEBDʹ͓͚ΔSVDͱςϯιϧͷॖ໿ͷ‫ࢉܭ‬ίετ͸O(χ3)•ʢิ଍৘ใʣ‫͕ࢉܭ‬ऩଋ͢Δ·Ͱͷճ਺͸Թ౓ʹґଘ͢Δchi_maxΛม͑ͯɺ෺ཧྔͷਫ਼౓Λ֬ೝ͢Δ•

࣓Խͷ্ཱ͕ͪΓͷҐஔͱ‫ͳີݫ‬Tcͱͷؔ܎•Tcۙ๣ͷ૬ؔ௕ͷେ͖͞•…

Ex2-2ɿߦྻੵঢ়ଶͱTRGͷൺֱ
1. Google colabͰEx2-1.ipynbΛ։͘•͜ΕΛΫϦοΫ

2. ʮυϥΠϒʹίϐʔʯ

3. ϥϯλΠϜ/શͯͷηϧΛ࣮ߦ•1෼͘Β͍ͰऴΘΔ͸ͣ•ҎԼͷਤͳͲ͕ग़ྗ͞Ε͍ͯΕ͹OK

Ex2-2.ipynbͷinput
iTEBDͰແ‫ܥݶ‬ͷਖ਼ํ֨ࢠΠδϯά໛‫ܕ‬ͷ෺ཧྔΛ‫͢·͠ࢉܭ‬2൪໨ͷηϧͰΠϯϓοτύϥϝλΛมߋͰ͖·͢ʢมߋͨ͠Β"͢΂ͯͷηϧΛ࣮ߦ"ʣ‫ͳີݫ‬Tcʢมߋ͠ͳ͍ʣ
T : Թ౓chi_max_listɿiTEBDͷϘϯυ࣍‫ݩ‬Ϧετmax_itrɿసૹߦྻΛ࠷େԿճ͔͚Δ͔
seedɿiMPSͷॳ‫ظ‬ςϯιϧΛ࡞Δཚ਺ͷλω
L=2n: γεςϜαΠζɻnͰࢦఆ*ແ‫ͱܥݶ‬ൺֱ͢ΔͷͰେ͖͘͢Δ
D_listɿTRGͷϘϯυ࣍‫ݩ‬Ϧετ

Ex2-2.ipynbͷoutput
iTEBDʹΑΔࣗ༝ΤωϧΪʔɺ࣓Խɺ૬ؔ௕

TRGʹΑΔࣗ༝ΤωϧΪʔࣗ༝ΤωϧΪʔͷ‫ࠩޡ‬ͷൺֱࣗ༝ΤωϧΪʔͷൺֱd࣮श2-1•T Λม͑ͯɺࣗ༝ΤωϧΪʔͷਫ਼౓Λ֬ೝ͢Δ•

Tc ʹۙͮ͘ͱͲ͏ͳΔ͔ʁ•ඞཁʹԠ͡Ͱɺchi_max_list, D_listΛมߋ͢Δ•‫ͱؒ࣌ࢉܭ‬ਫ਼౓ͷؔ܎Λߟ͑Δͱɺࣗ༝ΤωϧΪʔͷ‫ʹࢉܭ‬͸ɺiTEBDͱTRGͲͪΒ͕ޮ཰͕ྑ͍ͩΖ͏͔ʁ·ͱΊ•ςϯιϧωοτϫʔΫʢTNʣ͸‫ࢉܭ‬Պֶͷ͍Ζ͍Ζͳ৔໘ʹ‫ݱ‬ΕΔ••໰୊ࣗମ͕TN‫Ͱࣜܗ‬ද‫͞ݱ‬ΕΔɻۙࣅͱͯ͠TN‫ݱ͕ࣜܗ‬ΕΔɻTNͷ‫ج‬ຊతͳ‫ࢉܭ‬͸ɺॖ໿ʢߦྻੵʣɺ௿ϥϯΫۙࣅʢSVDʣɺ͓Αͼɺ‫ݻ‬༗஋໰୊••Ԡ༻ྫɿςϯιϧ‫܁‬ΓࠐΈ‫܈‬ɺ‫ݻ‬༗஋໰୊ʢߦྻੵঢ়ଶʣࠓճѻΘͳ͔ͬͨ࿩୊•ྔࢠଟମ໰୊΁ͷԠ༻•ྔࢠճ࿏γϛϡϨʔγϣϯɺྔࢠ‫ࢉܭ‬•‫ػ‬ցֶशɺσʔλՊֶɺ…

ࢀߟจ‫ݙ‬•ςϯιϧωοτϫʔΫ๏ղઆ‫ࣄه‬•਺ཧՊֶ 2022೥2݄߸ʮಛूɿςϯιϧωοτϫʔΫ๏ͷਐలʯɺαΠΤϯεࣾ•਺ཧՊֶ 2022೥11݄߸ͷҰ෦ʮྔࢠଟମ‫ͱܥ‬ςϯιϧωοτϫʔΫʯେ‫ٱ‬อ‫ؽ‬ɺαΠΤϯεࣾ•ʮςϯιϧωοτϫʔΫ‫ࣜܗ‬ͷਐలͱԠ༻ʯ੢໺༑೥ɼେ‫ٱ‬อ‫ؽ‬ɼ೔ຊ෺ཧֶձࢽ2017೥10݄߸
ʢhttps://www.jstage.jst.go.jp/article/butsuri/72/10/72_702/_article/-char/ja/ʣ•ʮςϯιϧωοτϫʔΫʹΑΔ৘ใѹॖͱϑϥετϨʔτ࣓ੑମ΁ͷԠ༻ʯେ‫ٱ‬อ‫ؽ‬ɺ෺ੑ‫ڀݚ‬Vol. 7, No. 2 ʢ෺ੑएखՆͷֶߍͷߨٛςΩετʣʢhttp://mercury.yukawa.kyoto-u.ac.jp/~bussei.kenkyu/archives/category/2018/vol07-2ʣ•ςϯιϧωοτϫʔΫ๏ςΩετ•ʮςϯιϧωοτϫʔΫͷ‫ͱૅج‬Ԡ༻ɹ౷‫ܭ‬෺ཧɾྔࢠ৘ใɾ‫ػ‬ցֶशʯ੢໺༑೥ɺαΠΤϯεࣾ SGCϥΠϒϥϦ168 (2021).

•ςϯιϧωοτϫʔΫ๏ʹΑΔ਺஋‫ࢉܭ‬ͷʢ͓‫ק‬ΊʣReview•

R. Orús, “A practical introduction to tensor networks: Matrix product states and projected entangled
pair states”, Annal. Phys. 349, 117 (2014).