From d37960d5c709cfaebae4ec6fdef2e2cc07fc7bf2 Mon Sep 17 00:00:00 2001 From: Marcus Rosales Date: Mon, 10 Aug 2026 14:18:17 -0400 Subject: [PATCH 1/4] Serve DMFT tutorial downloads locally instead of linking to GitHub The script links on the DMFT tutorial pages were markdown links to github.com/ALPSim/ALPS blob URLs, so clicking one navigated the reader off to GitHub instead of downloading the script. Vendor the 20 linked scripts under content/en/tutorials/dmft/codes/, mirroring the layout used by the ED and DMRG tutorials, and convert the markdown links to anchors with a download attribute pointing at ../codes// + {{- else -}} + + {{- end -}} From 9e6c0a30a9574aae9babc0298b48e19c12103f8b Mon Sep 17 00:00:00 2001 From: Marcus Rosales Date: Tue, 11 Aug 2026 14:12:28 -0400 Subject: [PATCH 3/4] Pin DMFT script downloads to ALPS commit daa7392 The pages reproduce each script inline in a fenced block and the prose walks through it, so tracking master would let the displayed code and the downloaded file diverge silently -- the URL keeps resolving, so a link check would not catch it. daa7392 is the commit the links were pinned to before this branch, and the one the vendored copies were taken from, so the download once again matches what the page shows. Bumping it stays a deliberate edit made alongside any prose update. Co-Authored-By: Claude Opus 5 --- content/en/tutorials/dmft/dmft02.md | 4 ++-- content/en/tutorials/dmft/dmft03.md | 4 ++-- content/en/tutorials/dmft/dmft04.md | 4 ++-- content/en/tutorials/dmft/dmft05.md | 4 ++-- content/en/tutorials/dmft/dmft06.md | 4 ++-- content/en/tutorials/dmft/dmft07.md | 4 ++-- content/en/tutorials/dmft/dmft08.md | 6 +++--- 7 files changed, 15 insertions(+), 15 deletions(-) diff --git a/content/en/tutorials/dmft/dmft02.md b/content/en/tutorials/dmft/dmft02.md index f3dc5332..e65e67ec 100644 --- a/content/en/tutorials/dmft/dmft02.md +++ b/content/en/tutorials/dmft/dmft02.md @@ -13,7 +13,7 @@ We start by running a continuous-time quantum Monte Carlo code: the hybridizatio The CT-HYB simulation will run for roughly 1 hour in total if you want to reproduce all 6 curves in Fig. 11 mentioned above. The files for this tutorial can be found in the directory `tutorials/dmft-02-hybridization`. -All DMFT tutorials can be started using a python script. The python script generates parameter files, runs them, and plots the results. You can run the short script `tutorial2.py`, reproducing only 2 out of the 6 curves (runtime: roughly 20 minutes), or the long version `tutorial2_long.py`, reproducing all 6 curves in the figure (runtime: roughly 1 hour). +All DMFT tutorials can be started using a python script. The python script generates parameter files, runs them, and plots the results. You can run the short script `tutorial2.py`, reproducing only 2 out of the 6 curves (runtime: roughly 20 minutes), or the long version `tutorial2_long.py`, reproducing all 6 curves in the figure (runtime: roughly 1 hour). The python script `tutorial2.py` automatically prepares the input files for the 2 simulations, `parm_beta_6.0` and `parm_beta_12.0`, and runs them (`/path-to-alps-installation/bin/dmft parm_beta_x`). @@ -127,7 +127,7 @@ You will notice that the results are relatively noisy. This is because the expan ### Checking convergence -If you want to check the convergence of your DMFT self-consistency, you can plot the Green's functions of different iterations using `tutorial2eval.py`, whose code is shown here: +If you want to check the convergence of your DMFT self-consistency, you can plot the Green's functions of different iterations using `tutorial2eval.py`, whose code is shown here: ``` listobs=['0'] # we look at a single flavor (=0) diff --git a/content/en/tutorials/dmft/dmft03.md b/content/en/tutorials/dmft/dmft03.md index 7e2585d1..b4c07620 100644 --- a/content/en/tutorials/dmft/dmft03.md +++ b/content/en/tutorials/dmft/dmft03.md @@ -43,7 +43,7 @@ with nearest-neighbor hopping $t$, on-site interaction $U$, and chemical potenti ### Running the simulation -The files for this tutorial can be found in the directory `tutorials/dmft-03-interaction`. As in Tutorial 02, you can run the short script `tutorial3.py`, reproducing 2 of the 6 curves (runtime: roughly 10 minutes), or the long version `tutorial3_long.py`, reproducing all 6 curves (runtime: roughly 30 minutes). CT-INT reaches a given statistical accuracy faster than CT-HYB in this weak-coupling regime, which is why `MAX_TIME` is set much lower here (10 seconds per iteration) than in Tutorial 02 (300 seconds). +The files for this tutorial can be found in the directory `tutorials/dmft-03-interaction`. As in Tutorial 02, you can run the short script `tutorial3.py`, reproducing 2 of the 6 curves (runtime: roughly 10 minutes), or the long version `tutorial3_long.py`, reproducing all 6 curves (runtime: roughly 30 minutes). CT-INT reaches a given statistical accuracy faster than CT-HYB in this weak-coupling regime, which is why `MAX_TIME` is set much lower here (10 seconds per iteration) than in Tutorial 02 (300 seconds). ``` import pyalps @@ -151,7 +151,7 @@ CT-INT and CT-HYB solve the same impurity problem with different diagrammatic ex ### Output data and plots -Evaluation proceeds exactly as in [DMFT-02 Hybridization](../dmft02), using `tutorial3eval.py` (identical in structure to `tutorial2eval.py`). First, the imaginary-time Green's function for both flavors, directly appended to `tutorial3.py`: +Evaluation proceeds exactly as in [DMFT-02 Hybridization](../dmft02), using `tutorial3eval.py` (identical in structure to `tutorial2eval.py`). First, the imaginary-time Green's function for both flavors, directly appended to `tutorial3.py`: ``` listobs=['0', '1'] # we will plot both flavors 0 and 1 diff --git a/content/en/tutorials/dmft/dmft04.md b/content/en/tutorials/dmft/dmft04.md index 1fa0a6b8..bad2b809 100644 --- a/content/en/tutorials/dmft/dmft04.md +++ b/content/en/tutorials/dmft/dmft04.md @@ -45,7 +45,7 @@ on the Bethe lattice, at half filling ($\mu=0$). Here the interaction $U$ is swe ### Running the simulation -In order to run the simulations in python use `tutorial4a.py`: +In order to run the simulations in python use `tutorial4a.py`: ``` import pyalps @@ -184,7 +184,7 @@ You should observe that at small $U$ you find a metallic solution, and an insula ### Checking convergence -The convergence may be checked by `tutorial4b.py`: +The convergence may be checked by `tutorial4b.py`: ``` import pyalps diff --git a/content/en/tutorials/dmft/dmft05.md b/content/en/tutorials/dmft/dmft05.md index 7d5bfc7c..0fa46ce7 100644 --- a/content/en/tutorials/dmft/dmft05.md +++ b/content/en/tutorials/dmft/dmft05.md @@ -50,7 +50,7 @@ with orbital index $m=0,1$, intra-orbital hopping $t_m$, intra-orbital (Hubbard) We choose here a case with two bandwidths, $t_0=0.5$ and $t_1=1$, and density-density-like interactions of $U'=U/2$, $J=U/4$, with $U$ between $1.8$ and $2.8$: $U=1.8$ shows a Fermi-liquid-like behavior in both orbitals, $U=2.2$ is orbitally selective, and $U=2.8$ is insulating in both orbitals. -The python command lines for running the simulations are found in `tutorial5a.py`: +The python command lines for running the simulations are found in `tutorial5a.py`: ``` import pyalps @@ -190,7 +190,7 @@ Because these are stochastic Monte Carlo results, the precise numbers depend on ### Checking convergence -Convergence may be checked with `tutorial5b.py`, which plots all iterations of $G_f^{it}(\tau)$ on a logarithmic scale, for both flavor 0 and flavor 2: +Convergence may be checked with `tutorial5b.py`, which plots all iterations of $G_f^{it}(\tau)$ on a logarithmic scale, for both flavor 0 and flavor 2: ``` import pyalps diff --git a/content/en/tutorials/dmft/dmft06.md b/content/en/tutorials/dmft/dmft06.md index 1626da15..059aa326 100644 --- a/content/en/tutorials/dmft/dmft06.md +++ b/content/en/tutorials/dmft/dmft06.md @@ -69,7 +69,7 @@ and (for the interaction expansion version) python tutorial6b.py ``` -`tutorial6a.py` (CT-HYB): +`tutorial6a.py` (CT-HYB): ``` import pyalps @@ -113,7 +113,7 @@ input_file = pyalps.writeParameterFile('parm_hyb',parms[0]) res = pyalps.runDMFT(input_file) ``` -`tutorial6b.py` (CT-INT): +`tutorial6b.py` (CT-INT): ``` import pyalps diff --git a/content/en/tutorials/dmft/dmft07.md b/content/en/tutorials/dmft/dmft07.md index 41adad49..2992ae87 100644 --- a/content/en/tutorials/dmft/dmft07.md +++ b/content/en/tutorials/dmft/dmft07.md @@ -43,7 +43,7 @@ on the Bethe lattice at half filling ($\mu=0$), with $t=0.707106781186547=1/\sqr ### Running the simulation -The Hirsch-Fye simulation will run for about 20 seconds per iteration. The files for this tutorial can be found in the directory `tutorials/dmft-07-hirschfye`. As in Tutorials 02 and 03, you can run the short script `tutorial7.py`, reproducing 2 of the 6 curves (runtime: roughly 5 minutes), or the long version `tutorial7_long.py`, reproducing all 6 curves. +The Hirsch-Fye simulation will run for about 20 seconds per iteration. The files for this tutorial can be found in the directory `tutorials/dmft-07-hirschfye`. As in Tutorials 02 and 03, you can run the short script `tutorial7.py`, reproducing 2 of the 6 curves (runtime: roughly 5 minutes), or the long version `tutorial7_long.py`, reproducing all 6 curves. ``` import pyalps @@ -165,7 +165,7 @@ Hirsch-Fye works very differently from CT-HYB and CT-INT: it Trotter-decomposes ### Output data and plots -For evaluation you may adapt `tutorial2eval.py` as described in [DMFT-02 Hybridization](../dmft02), or use `tutorial7eval.py`, which is structurally identical to `tutorial2eval.py`: it plots the iteration-resolved $G(\tau)$, the occupation $n_0=-G_0(\tau=\beta^-)$ versus $\beta$, and the Matsubara-frequency Green's function and self-energy (via the Dyson equation), for both flavors. +For evaluation you may adapt `tutorial2eval.py` as described in [DMFT-02 Hybridization](../dmft02), or use `tutorial7eval.py`, which is structurally identical to `tutorial2eval.py`: it plots the iteration-resolved $G(\tau)$, the occupation $n_0=-G_0(\tau=\beta^-)$ versus $\beta$, and the Matsubara-frequency Green's function and self-energy (via the Dyson equation), for both flavors. ``` import pyalps diff --git a/content/en/tutorials/dmft/dmft08.md b/content/en/tutorials/dmft/dmft08.md index 5324e25f..fefc45ea 100644 --- a/content/en/tutorials/dmft/dmft08.md +++ b/content/en/tutorials/dmft/dmft08.md @@ -77,7 +77,7 @@ Two lattice-specific mechanisms are available; both feed a k-integrated density o o ``` -Each DOS table was produced by a small histogram script — `DOS_Square.py` (`GRID=4000`), `DOS_Cubic.py` (`GRID=360`), and `DOS_Hexagonal.py` (`GRID=4000`) — each integrating the tight-binding dispersion over the Brillouin zone on a `GRID`$\times$`GRID` k-point mesh. You can generate a DOS table for any other lattice the same way, or use the [ALPS lattice library](../../../documentation/intro/latticehowtos) as a reference for lattice geometries and coordination numbers when building your own. +Each DOS table was produced by a small histogram script — `DOS_Square.py` (`GRID=4000`), `DOS_Cubic.py` (`GRID=360`), and `DOS_Hexagonal.py` (`GRID=4000`) — each integrating the tight-binding dispersion over the Brillouin zone on a `GRID`$\times$`GRID` k-point mesh. You can generate a DOS table for any other lattice the same way, or use the [ALPS lattice library](../../../documentation/intro/latticehowtos) as a reference for lattice geometries and coordination numbers when building your own. **TWODBS**: for the square and hexagonal lattices specifically, ALPS can instead evaluate the Hilbert transform directly as a live k-space integral at every self-consistency step (discretized on an $L\times L$ k-point mesh), without needing a pre-tabulated DOS file at all. @@ -87,7 +87,7 @@ Each DOS table was produced by a small histogram script — `tutorial8a.py` setting an input file, running the simulation, and plotting the result follows: +For a general lattice, you have to provide the density of states of your lattice. Apart from that, several other changes are necessary in order to run the simulation. A working python script `tutorial8a.py` setting an input file, running the simulation, and plotting the result follows: ``` import pyalps @@ -192,7 +192,7 @@ For the case of two-dimensional lattices, there is an implementation of the Hilb - square lattice [set TWODBS=square] with nearest-neighbor [corresponding parameter: t] and next-nearest-neighbor hoppings [corresponding parameter: tprime]; the second moment EPSSQ_i is $4(t^2 + tprime^2)$; - hexagonal lattice [set TWODBS=hexagonal] with nearest-neighbor hoppings [corresponding parameter: t]; the second moment EPSSQ_i is $3t^2$. -A working python script `tutorial8b.py` to produce the input file, run the simulation, and plot the result is shown here: +A working python script `tutorial8b.py` to produce the input file, run the simulation, and plot the result is shown here: ``` import pyalps From 6e0958fb415501c53ed862a498a1da2dc5c52f2e Mon Sep 17 00:00:00 2001 From: Marcus Rosales Date: Wed, 12 Aug 2026 13:24:35 -0400 Subject: [PATCH 4/4] Track ALPS master for DMFT downloads, sync ja/zh-cn Point the DMFT script downloads at the master branch of ALPSim/ALPS instead of pinning them to commit daa7392, so the tutorials always serve the current source rather than a snapshot that silently goes stale. Also bring the Japanese and Chinese DMFT pages in line with the English ones: they still carried plain markdown links to the pinned commit, so they neither tracked the source nor used the download behavior. All three language trees now use the same alps-download anchors. Co-Authored-By: Claude Opus 5 --- content/en/tutorials/dmft/dmft02.md | 4 ++-- content/en/tutorials/dmft/dmft03.md | 4 ++-- content/en/tutorials/dmft/dmft04.md | 4 ++-- content/en/tutorials/dmft/dmft05.md | 4 ++-- content/en/tutorials/dmft/dmft06.md | 4 ++-- content/en/tutorials/dmft/dmft07.md | 4 ++-- content/en/tutorials/dmft/dmft08.md | 6 +++--- content/ja/tutorials/dmft/dmft02.md | 4 ++-- content/ja/tutorials/dmft/dmft03.md | 4 ++-- content/ja/tutorials/dmft/dmft04.md | 4 ++-- content/ja/tutorials/dmft/dmft05.md | 4 ++-- content/ja/tutorials/dmft/dmft06.md | 4 ++-- content/ja/tutorials/dmft/dmft07.md | 4 ++-- content/ja/tutorials/dmft/dmft08.md | 6 +++--- content/zh-cn/tutorials/dmft/dmft02.md | 4 ++-- content/zh-cn/tutorials/dmft/dmft03.md | 4 ++-- content/zh-cn/tutorials/dmft/dmft04.md | 4 ++-- content/zh-cn/tutorials/dmft/dmft05.md | 4 ++-- content/zh-cn/tutorials/dmft/dmft06.md | 4 ++-- content/zh-cn/tutorials/dmft/dmft07.md | 4 ++-- content/zh-cn/tutorials/dmft/dmft08.md | 6 +++--- 21 files changed, 45 insertions(+), 45 deletions(-) diff --git a/content/en/tutorials/dmft/dmft02.md b/content/en/tutorials/dmft/dmft02.md index e65e67ec..f3dc5332 100644 --- a/content/en/tutorials/dmft/dmft02.md +++ b/content/en/tutorials/dmft/dmft02.md @@ -13,7 +13,7 @@ We start by running a continuous-time quantum Monte Carlo code: the hybridizatio The CT-HYB simulation will run for roughly 1 hour in total if you want to reproduce all 6 curves in Fig. 11 mentioned above. The files for this tutorial can be found in the directory `tutorials/dmft-02-hybridization`. -All DMFT tutorials can be started using a python script. The python script generates parameter files, runs them, and plots the results. You can run the short script `tutorial2.py`, reproducing only 2 out of the 6 curves (runtime: roughly 20 minutes), or the long version `tutorial2_long.py`, reproducing all 6 curves in the figure (runtime: roughly 1 hour). +All DMFT tutorials can be started using a python script. The python script generates parameter files, runs them, and plots the results. You can run the short script `tutorial2.py`, reproducing only 2 out of the 6 curves (runtime: roughly 20 minutes), or the long version `tutorial2_long.py`, reproducing all 6 curves in the figure (runtime: roughly 1 hour). The python script `tutorial2.py` automatically prepares the input files for the 2 simulations, `parm_beta_6.0` and `parm_beta_12.0`, and runs them (`/path-to-alps-installation/bin/dmft parm_beta_x`). @@ -127,7 +127,7 @@ You will notice that the results are relatively noisy. This is because the expan ### Checking convergence -If you want to check the convergence of your DMFT self-consistency, you can plot the Green's functions of different iterations using `tutorial2eval.py`, whose code is shown here: +If you want to check the convergence of your DMFT self-consistency, you can plot the Green's functions of different iterations using `tutorial2eval.py`, whose code is shown here: ``` listobs=['0'] # we look at a single flavor (=0) diff --git a/content/en/tutorials/dmft/dmft03.md b/content/en/tutorials/dmft/dmft03.md index b4c07620..7e2585d1 100644 --- a/content/en/tutorials/dmft/dmft03.md +++ b/content/en/tutorials/dmft/dmft03.md @@ -43,7 +43,7 @@ with nearest-neighbor hopping $t$, on-site interaction $U$, and chemical potenti ### Running the simulation -The files for this tutorial can be found in the directory `tutorials/dmft-03-interaction`. As in Tutorial 02, you can run the short script `tutorial3.py`, reproducing 2 of the 6 curves (runtime: roughly 10 minutes), or the long version `tutorial3_long.py`, reproducing all 6 curves (runtime: roughly 30 minutes). CT-INT reaches a given statistical accuracy faster than CT-HYB in this weak-coupling regime, which is why `MAX_TIME` is set much lower here (10 seconds per iteration) than in Tutorial 02 (300 seconds). +The files for this tutorial can be found in the directory `tutorials/dmft-03-interaction`. As in Tutorial 02, you can run the short script `tutorial3.py`, reproducing 2 of the 6 curves (runtime: roughly 10 minutes), or the long version `tutorial3_long.py`, reproducing all 6 curves (runtime: roughly 30 minutes). CT-INT reaches a given statistical accuracy faster than CT-HYB in this weak-coupling regime, which is why `MAX_TIME` is set much lower here (10 seconds per iteration) than in Tutorial 02 (300 seconds). ``` import pyalps @@ -151,7 +151,7 @@ CT-INT and CT-HYB solve the same impurity problem with different diagrammatic ex ### Output data and plots -Evaluation proceeds exactly as in [DMFT-02 Hybridization](../dmft02), using `tutorial3eval.py` (identical in structure to `tutorial2eval.py`). First, the imaginary-time Green's function for both flavors, directly appended to `tutorial3.py`: +Evaluation proceeds exactly as in [DMFT-02 Hybridization](../dmft02), using `tutorial3eval.py` (identical in structure to `tutorial2eval.py`). First, the imaginary-time Green's function for both flavors, directly appended to `tutorial3.py`: ``` listobs=['0', '1'] # we will plot both flavors 0 and 1 diff --git a/content/en/tutorials/dmft/dmft04.md b/content/en/tutorials/dmft/dmft04.md index bad2b809..1fa0a6b8 100644 --- a/content/en/tutorials/dmft/dmft04.md +++ b/content/en/tutorials/dmft/dmft04.md @@ -45,7 +45,7 @@ on the Bethe lattice, at half filling ($\mu=0$). Here the interaction $U$ is swe ### Running the simulation -In order to run the simulations in python use `tutorial4a.py`: +In order to run the simulations in python use `tutorial4a.py`: ``` import pyalps @@ -184,7 +184,7 @@ You should observe that at small $U$ you find a metallic solution, and an insula ### Checking convergence -The convergence may be checked by `tutorial4b.py`: +The convergence may be checked by `tutorial4b.py`: ``` import pyalps diff --git a/content/en/tutorials/dmft/dmft05.md b/content/en/tutorials/dmft/dmft05.md index 0fa46ce7..7d5bfc7c 100644 --- a/content/en/tutorials/dmft/dmft05.md +++ b/content/en/tutorials/dmft/dmft05.md @@ -50,7 +50,7 @@ with orbital index $m=0,1$, intra-orbital hopping $t_m$, intra-orbital (Hubbard) We choose here a case with two bandwidths, $t_0=0.5$ and $t_1=1$, and density-density-like interactions of $U'=U/2$, $J=U/4$, with $U$ between $1.8$ and $2.8$: $U=1.8$ shows a Fermi-liquid-like behavior in both orbitals, $U=2.2$ is orbitally selective, and $U=2.8$ is insulating in both orbitals. -The python command lines for running the simulations are found in `tutorial5a.py`: +The python command lines for running the simulations are found in `tutorial5a.py`: ``` import pyalps @@ -190,7 +190,7 @@ Because these are stochastic Monte Carlo results, the precise numbers depend on ### Checking convergence -Convergence may be checked with `tutorial5b.py`, which plots all iterations of $G_f^{it}(\tau)$ on a logarithmic scale, for both flavor 0 and flavor 2: +Convergence may be checked with `tutorial5b.py`, which plots all iterations of $G_f^{it}(\tau)$ on a logarithmic scale, for both flavor 0 and flavor 2: ``` import pyalps diff --git a/content/en/tutorials/dmft/dmft06.md b/content/en/tutorials/dmft/dmft06.md index 059aa326..1626da15 100644 --- a/content/en/tutorials/dmft/dmft06.md +++ b/content/en/tutorials/dmft/dmft06.md @@ -69,7 +69,7 @@ and (for the interaction expansion version) python tutorial6b.py ``` -`tutorial6a.py` (CT-HYB): +`tutorial6a.py` (CT-HYB): ``` import pyalps @@ -113,7 +113,7 @@ input_file = pyalps.writeParameterFile('parm_hyb',parms[0]) res = pyalps.runDMFT(input_file) ``` -`tutorial6b.py` (CT-INT): +`tutorial6b.py` (CT-INT): ``` import pyalps diff --git a/content/en/tutorials/dmft/dmft07.md b/content/en/tutorials/dmft/dmft07.md index 2992ae87..41adad49 100644 --- a/content/en/tutorials/dmft/dmft07.md +++ b/content/en/tutorials/dmft/dmft07.md @@ -43,7 +43,7 @@ on the Bethe lattice at half filling ($\mu=0$), with $t=0.707106781186547=1/\sqr ### Running the simulation -The Hirsch-Fye simulation will run for about 20 seconds per iteration. The files for this tutorial can be found in the directory `tutorials/dmft-07-hirschfye`. As in Tutorials 02 and 03, you can run the short script `tutorial7.py`, reproducing 2 of the 6 curves (runtime: roughly 5 minutes), or the long version `tutorial7_long.py`, reproducing all 6 curves. +The Hirsch-Fye simulation will run for about 20 seconds per iteration. The files for this tutorial can be found in the directory `tutorials/dmft-07-hirschfye`. As in Tutorials 02 and 03, you can run the short script `tutorial7.py`, reproducing 2 of the 6 curves (runtime: roughly 5 minutes), or the long version `tutorial7_long.py`, reproducing all 6 curves. ``` import pyalps @@ -165,7 +165,7 @@ Hirsch-Fye works very differently from CT-HYB and CT-INT: it Trotter-decomposes ### Output data and plots -For evaluation you may adapt `tutorial2eval.py` as described in [DMFT-02 Hybridization](../dmft02), or use `tutorial7eval.py`, which is structurally identical to `tutorial2eval.py`: it plots the iteration-resolved $G(\tau)$, the occupation $n_0=-G_0(\tau=\beta^-)$ versus $\beta$, and the Matsubara-frequency Green's function and self-energy (via the Dyson equation), for both flavors. +For evaluation you may adapt `tutorial2eval.py` as described in [DMFT-02 Hybridization](../dmft02), or use `tutorial7eval.py`, which is structurally identical to `tutorial2eval.py`: it plots the iteration-resolved $G(\tau)$, the occupation $n_0=-G_0(\tau=\beta^-)$ versus $\beta$, and the Matsubara-frequency Green's function and self-energy (via the Dyson equation), for both flavors. ``` import pyalps diff --git a/content/en/tutorials/dmft/dmft08.md b/content/en/tutorials/dmft/dmft08.md index fefc45ea..5324e25f 100644 --- a/content/en/tutorials/dmft/dmft08.md +++ b/content/en/tutorials/dmft/dmft08.md @@ -77,7 +77,7 @@ Two lattice-specific mechanisms are available; both feed a k-integrated density o o ``` -Each DOS table was produced by a small histogram script — `DOS_Square.py` (`GRID=4000`), `DOS_Cubic.py` (`GRID=360`), and `DOS_Hexagonal.py` (`GRID=4000`) — each integrating the tight-binding dispersion over the Brillouin zone on a `GRID`$\times$`GRID` k-point mesh. You can generate a DOS table for any other lattice the same way, or use the [ALPS lattice library](../../../documentation/intro/latticehowtos) as a reference for lattice geometries and coordination numbers when building your own. +Each DOS table was produced by a small histogram script — `DOS_Square.py` (`GRID=4000`), `DOS_Cubic.py` (`GRID=360`), and `DOS_Hexagonal.py` (`GRID=4000`) — each integrating the tight-binding dispersion over the Brillouin zone on a `GRID`$\times$`GRID` k-point mesh. You can generate a DOS table for any other lattice the same way, or use the [ALPS lattice library](../../../documentation/intro/latticehowtos) as a reference for lattice geometries and coordination numbers when building your own. **TWODBS**: for the square and hexagonal lattices specifically, ALPS can instead evaluate the Hilbert transform directly as a live k-space integral at every self-consistency step (discretized on an $L\times L$ k-point mesh), without needing a pre-tabulated DOS file at all. @@ -87,7 +87,7 @@ Each DOS table was produced by a small histogram script — `tutorial8a.py` setting an input file, running the simulation, and plotting the result follows: +For a general lattice, you have to provide the density of states of your lattice. Apart from that, several other changes are necessary in order to run the simulation. A working python script `tutorial8a.py` setting an input file, running the simulation, and plotting the result follows: ``` import pyalps @@ -192,7 +192,7 @@ For the case of two-dimensional lattices, there is an implementation of the Hilb - square lattice [set TWODBS=square] with nearest-neighbor [corresponding parameter: t] and next-nearest-neighbor hoppings [corresponding parameter: tprime]; the second moment EPSSQ_i is $4(t^2 + tprime^2)$; - hexagonal lattice [set TWODBS=hexagonal] with nearest-neighbor hoppings [corresponding parameter: t]; the second moment EPSSQ_i is $3t^2$. -A working python script `tutorial8b.py` to produce the input file, run the simulation, and plot the result is shown here: +A working python script `tutorial8b.py` to produce the input file, run the simulation, and plot the result is shown here: ``` import pyalps diff --git a/content/ja/tutorials/dmft/dmft02.md b/content/ja/tutorials/dmft/dmft02.md index f3baadf5..1e579af0 100644 --- a/content/ja/tutorials/dmft/dmft02.md +++ b/content/ja/tutorials/dmft/dmft02.md @@ -13,7 +13,7 @@ toc: true 上記の図11にある6本の曲線すべてを再現する場合、CT-HYB シミュレーションは全体で約1時間かかります。このチュートリアルに必要なファイルはディレクトリ `tutorials/dmft-02-hybridization` にあります。 -すべての DMFT チュートリアルは python スクリプトを用いて実行できます。このスクリプトはパラメータファイルを生成し、それらを実行し、結果をプロットします。短縮版のスクリプト [`tutorial2.py`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-02-hybridization/tutorial2.py) を実行すると、6本のうち2本の曲線のみを再現します(実行時間の目安:約20分)。あるいは完全版のスクリプト [`tutorial2_long.py`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-02-hybridization/tutorial2_long.py) を実行すると、図の6本すべての曲線を再現します(実行時間の目安:約1時間)。 +すべての DMFT チュートリアルは python スクリプトを用いて実行できます。このスクリプトはパラメータファイルを生成し、それらを実行し、結果をプロットします。短縮版のスクリプト `tutorial2.py` を実行すると、6本のうち2本の曲線のみを再現します(実行時間の目安:約20分)。あるいは完全版のスクリプト `tutorial2_long.py` を実行すると、図の6本すべての曲線を再現します(実行時間の目安:約1時間)。 python スクリプト `tutorial2.py` は、2つのシミュレーション用の入力ファイル `parm_beta_6.0` と `parm_beta_12.0` を自動的に準備し、それらを実行します(`/path-to-alps-installation/bin/dmft parm_beta_x`)。 @@ -127,7 +127,7 @@ plt.show() ### 収束の確認 -DMFT の自己無撞着計算の収束を確認したい場合は、[`tutorial2eval.py`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-02-hybridization/tutorial2eval.py) を使って各反復ステップのグリーン関数をプロットできます。そのコードは以下の通りです。 +DMFT の自己無撞着計算の収束を確認したい場合は、`tutorial2eval.py` を使って各反復ステップのグリーン関数をプロットできます。そのコードは以下の通りです。 ``` listobs=['0'] # we look at a single flavor (=0) diff --git a/content/ja/tutorials/dmft/dmft03.md b/content/ja/tutorials/dmft/dmft03.md index 0b4a7bd1..1b422180 100644 --- a/content/ja/tutorials/dmft/dmft03.md +++ b/content/ja/tutorials/dmft/dmft03.md @@ -43,7 +43,7 @@ $$ ### シミュレーションの実行 -このチュートリアルに必要なファイルはディレクトリ `tutorials/dmft-03-interaction` にあります。チュートリアル02と同様に、短縮版スクリプト [`tutorial3.py`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-03-interaction/tutorial3.py) を実行すると、6本のうち2本の曲線のみを再現します(実行時間の目安:約10分)。あるいは完全版スクリプト [`tutorial3_long.py`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-03-interaction/tutorial3_long.py) を実行すると、6本すべての曲線を再現します(実行時間の目安:約30分)。この弱結合領域では CT-INT が CT-HYB よりも短時間で同程度の統計精度に到達するため、`MAX_TIME` はチュートリアル02(1反復あたり300秒)よりもずっと短い、1反復あたり10秒に設定されています。 +このチュートリアルに必要なファイルはディレクトリ `tutorials/dmft-03-interaction` にあります。チュートリアル02と同様に、短縮版スクリプト `tutorial3.py` を実行すると、6本のうち2本の曲線のみを再現します(実行時間の目安:約10分)。あるいは完全版スクリプト `tutorial3_long.py` を実行すると、6本すべての曲線を再現します(実行時間の目安:約30分)。この弱結合領域では CT-INT が CT-HYB よりも短時間で同程度の統計精度に到達するため、`MAX_TIME` はチュートリアル02(1反復あたり300秒)よりもずっと短い、1反復あたり10秒に設定されています。 ``` import pyalps @@ -151,7 +151,7 @@ CT-INT と CT-HYB は同じ不純物問題を異なる図式展開で解いて ### 出力データとプロット -結果の評価は [DMFT-02 Hybridization](../dmft02) とまったく同じ方法で、[`tutorial3eval.py`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-03-interaction/tutorial3eval.py)(`tutorial2eval.py` と構造は同一)を用いて行えます。まず、`tutorial3.py` に続けて実行される、両フレーバーの虚時間グリーン関数のプロットです。 +結果の評価は [DMFT-02 Hybridization](../dmft02) とまったく同じ方法で、`tutorial3eval.py`(`tutorial2eval.py` と構造は同一)を用いて行えます。まず、`tutorial3.py` に続けて実行される、両フレーバーの虚時間グリーン関数のプロットです。 ``` listobs=['0', '1'] # we will plot both flavors 0 and 1 diff --git a/content/ja/tutorials/dmft/dmft04.md b/content/ja/tutorials/dmft/dmft04.md index 1506f0a7..edd99df4 100644 --- a/content/ja/tutorials/dmft/dmft04.md +++ b/content/ja/tutorials/dmft/dmft04.md @@ -45,7 +45,7 @@ $$ ### シミュレーションの実行 -python でシミュレーションを実行するには、[`tutorial4a.py`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-04-mott/tutorial4a.py) を使用します。 +python でシミュレーションを実行するには、`tutorial4a.py` を使用します。 ``` import pyalps @@ -184,7 +184,7 @@ plt.show() ### 収束の確認 -収束は [`tutorial4b.py`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-04-mott/tutorial4b.py) で確認できます。 +収束は `tutorial4b.py` で確認できます。 ``` import pyalps diff --git a/content/ja/tutorials/dmft/dmft05.md b/content/ja/tutorials/dmft/dmft05.md index 7dde944e..f66ca763 100644 --- a/content/ja/tutorials/dmft/dmft05.md +++ b/content/ja/tutorials/dmft/dmft05.md @@ -50,7 +50,7 @@ $$ ここでは、2つのバンド幅を $t_0=0.5$、$t_1=1$ とし、密度-密度型の相互作用を $U'=U/2$、$J=U/4$ とした場合を、$U$ を $1.8$ から $2.8$ の間で変化させて考えます。$U=1.8$ では両方の軌道でフェルミ液体的な振る舞いが見られ、$U=2.2$ では軌道選択的になり、$U=2.8$ では両方の軌道が絶縁的になります。 -シミュレーションを実行するための python コマンドは [`tutorial5a.py`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-05-osmt/tutorial5a.py) にあります。 +シミュレーションを実行するための python コマンドは `tutorial5a.py` にあります。 ``` import pyalps @@ -190,7 +190,7 @@ plt.show() ### 収束の確認 -収束は [`tutorial5b.py`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-05-osmt/tutorial5b.py) で確認でき、フレーバー0とフレーバー2それぞれについて、$G_f^{it}(\tau)$ のすべての反復を対数スケールでプロットします。 +収束は `tutorial5b.py` で確認でき、フレーバー0とフレーバー2それぞれについて、$G_f^{it}(\tau)$ のすべての反復を対数スケールでプロットします。 ``` import pyalps diff --git a/content/ja/tutorials/dmft/dmft06.md b/content/ja/tutorials/dmft/dmft06.md index 83a64f0e..461ced3d 100644 --- a/content/ja/tutorials/dmft/dmft06.md +++ b/content/ja/tutorials/dmft/dmft06.md @@ -69,7 +69,7 @@ python tutorial6a.py python tutorial6b.py ``` -[`tutorial6a.py`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-06-paramagnet/hyb/tutorial6a.py)(CT-HYB): +`tutorial6a.py`(CT-HYB): ``` import pyalps @@ -113,7 +113,7 @@ input_file = pyalps.writeParameterFile('parm_hyb',parms[0]) res = pyalps.runDMFT(input_file) ``` -[`tutorial6b.py`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-06-paramagnet/int/tutorial6b.py)(CT-INT): +`tutorial6b.py`(CT-INT): ``` import pyalps diff --git a/content/ja/tutorials/dmft/dmft07.md b/content/ja/tutorials/dmft/dmft07.md index 28943ebc..026b6169 100644 --- a/content/ja/tutorials/dmft/dmft07.md +++ b/content/ja/tutorials/dmft/dmft07.md @@ -43,7 +43,7 @@ $$ ### シミュレーションの実行 -Hirsch-Fye シミュレーションは、1反復あたり約20秒かかります。このチュートリアルに必要なファイルはディレクトリ `tutorials/dmft-07-hirschfye` にあります。チュートリアル02・03と同様に、短縮版スクリプト [`tutorial7.py`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-07-hirschfye/tutorial7.py) を実行すると、6本のうち2本の曲線のみを再現します(実行時間の目安:約5分)。あるいは完全版スクリプト [`tutorial7_long.py`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-07-hirschfye/tutorial7_long.py) を実行すると、6本すべての曲線を再現します。 +Hirsch-Fye シミュレーションは、1反復あたり約20秒かかります。このチュートリアルに必要なファイルはディレクトリ `tutorials/dmft-07-hirschfye` にあります。チュートリアル02・03と同様に、短縮版スクリプト `tutorial7.py` を実行すると、6本のうち2本の曲線のみを再現します(実行時間の目安:約5分)。あるいは完全版スクリプト `tutorial7_long.py` を実行すると、6本すべての曲線を再現します。 ``` import pyalps @@ -165,7 +165,7 @@ Hirsch-Fye は CT-HYB や CT-INT とはまったく異なる方法で動作し ### 出力データとプロット -結果の評価には、[DMFT-02 Hybridization](../dmft02) で説明した `tutorial2eval.py` を応用するか、`tutorial2eval.py` と構造的に同一である [`tutorial7eval.py`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-07-hirschfye/tutorial7eval.py) を使用できます。このスクリプトは、反復ごとの $G(\tau)$、占有数 $n_0=-G_0(\tau=\beta^-)$ の $\beta$ 依存性、そして(Dyson 方程式による)松原周波数のグリーン関数と自己エネルギーを、両方のフレーバーについてプロットします。 +結果の評価には、[DMFT-02 Hybridization](../dmft02) で説明した `tutorial2eval.py` を応用するか、`tutorial2eval.py` と構造的に同一である `tutorial7eval.py` を使用できます。このスクリプトは、反復ごとの $G(\tau)$、占有数 $n_0=-G_0(\tau=\beta^-)$ の $\beta$ 依存性、そして(Dyson 方程式による)松原周波数のグリーン関数と自己エネルギーを、両方のフレーバーについてプロットします。 ``` import pyalps diff --git a/content/ja/tutorials/dmft/dmft08.md b/content/ja/tutorials/dmft/dmft08.md index e252a71c..2d78b6c9 100644 --- a/content/ja/tutorials/dmft/dmft08.md +++ b/content/ja/tutorials/dmft/dmft08.md @@ -77,7 +77,7 @@ $$ o o ``` -各 DOS 表は小さなヒストグラム生成スクリプト──[`DOS_Square.py`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-08-lattices/DOS/DOS_Square.py)(`GRID=4000`)、[`DOS_Cubic.py`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-08-lattices/DOS/DOS_Cubic.py)(`GRID=360`)、[`DOS_Hexagonal.py`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-08-lattices/DOS/DOS_Hexagonal.py)(`GRID=4000`)──によって、`GRID`$\times$`GRID` の k 点メッシュ上でタイトバインディング分散をブリルアンゾーン全体にわたって積分することで生成されています。他の格子についても同様の方法で自分で DOS 表を生成できますし、格子の幾何学的構造や配位数を調べる際の参考として [ALPS 格子ライブラリ](../../../documentation/intro/latticehowtos) を利用することもできます。 +各 DOS 表は小さなヒストグラム生成スクリプト──`DOS_Square.py`(`GRID=4000`)、`DOS_Cubic.py`(`GRID=360`)、`DOS_Hexagonal.py`(`GRID=4000`)──によって、`GRID`$\times$`GRID` の k 点メッシュ上でタイトバインディング分散をブリルアンゾーン全体にわたって積分することで生成されています。他の格子についても同様の方法で自分で DOS 表を生成できますし、格子の幾何学的構造や配位数を調べる際の参考として [ALPS 格子ライブラリ](../../../documentation/intro/latticehowtos) を利用することもできます。 **TWODBS**:正方格子と六角格子については、事前に DOS 表を用意しなくても、自己無撞着計算の各ステップで Hilbert 変換を($L\times L$ の k 点メッシュ上で離散化した)ライブな k 空間積分として直接評価することができます。 @@ -87,7 +87,7 @@ $$ ### Option DOSFILE -一般の格子の場合、その格子の状態密度を与える必要があります。それに加えて、シミュレーションを実行するにはいくつかの変更が必要です。入力ファイルを設定し、シミュレーションを実行し、結果をプロットする、実際に動作する python スクリプト [`tutorial8a.py`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-08-lattices/tutorial8a.py) を以下に示します。 +一般の格子の場合、その格子の状態密度を与える必要があります。それに加えて、シミュレーションを実行するにはいくつかの変更が必要です。入力ファイルを設定し、シミュレーションを実行し、結果をプロットする、実際に動作する python スクリプト `tutorial8a.py` を以下に示します。 ``` import pyalps @@ -192,7 +192,7 @@ $$ - 正方格子 [TWODBS=square と設定]。最近接ホッピング [対応するパラメータ:t] と次近接ホッピング [対応するパラメータ:tprime] を持ち、二次モーメント EPSSQ_i は $4(t^2 + tprime^2)$ です。 - 六角格子 [TWODBS=hexagonal と設定]。最近接ホッピングのみを持ち [対応するパラメータ:t]、二次モーメント EPSSQ_i は $3t^2$ です。 -入力ファイルを生成し、シミュレーションを実行し、結果をプロットする、実際に動作する python スクリプト [`tutorial8b.py`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-08-lattices/tutorial8b.py) を以下に示します。 +入力ファイルを生成し、シミュレーションを実行し、結果をプロットする、実際に動作する python スクリプト `tutorial8b.py` を以下に示します。 ``` import pyalps diff --git a/content/zh-cn/tutorials/dmft/dmft02.md b/content/zh-cn/tutorials/dmft/dmft02.md index 69f1720b..337d36ae 100644 --- a/content/zh-cn/tutorials/dmft/dmft02.md +++ b/content/zh-cn/tutorials/dmft/dmft02.md @@ -13,7 +13,7 @@ toc: true 如果你想重现上文图 11 中全部 6 条曲线,CT-HYB 模拟总共大约需要运行 1 小时。本教程所需的文件可以在目录 `tutorials/dmft-02-hybridization` 中找到。 -所有 DMFT 教程都可以通过一个 python 脚本启动。该脚本会生成参数文件、运行模拟并绘制结果。你可以运行简短版脚本 [`tutorial2.py`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-02-hybridization/tutorial2.py),它只重现 6 条曲线中的 2 条(运行时间:约 20 分钟);也可以运行完整版脚本 [`tutorial2_long.py`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-02-hybridization/tutorial2_long.py),它会重现图中全部 6 条曲线(运行时间:约 1 小时)。 +所有 DMFT 教程都可以通过一个 python 脚本启动。该脚本会生成参数文件、运行模拟并绘制结果。你可以运行简短版脚本 `tutorial2.py`,它只重现 6 条曲线中的 2 条(运行时间:约 20 分钟);也可以运行完整版脚本 `tutorial2_long.py`,它会重现图中全部 6 条曲线(运行时间:约 1 小时)。 python 脚本 `tutorial2.py` 会自动为两个模拟准备输入文件 `parm_beta_6.0` 和 `parm_beta_12.0`,并运行它们(`/path-to-alps-installation/bin/dmft parm_beta_x`)。 @@ -127,7 +127,7 @@ plt.show() ### 检验收敛性 -如果你想检查 DMFT 自洽过程的收敛情况,可以使用 [`tutorial2eval.py`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-02-hybridization/tutorial2eval.py) 绘制不同迭代步骤的格林函数,其代码如下: +如果你想检查 DMFT 自洽过程的收敛情况,可以使用 `tutorial2eval.py` 绘制不同迭代步骤的格林函数,其代码如下: ``` listobs=['0'] # we look at a single flavor (=0) diff --git a/content/zh-cn/tutorials/dmft/dmft03.md b/content/zh-cn/tutorials/dmft/dmft03.md index 749ad21c..1245d3c6 100644 --- a/content/zh-cn/tutorials/dmft/dmft03.md +++ b/content/zh-cn/tutorials/dmft/dmft03.md @@ -43,7 +43,7 @@ $$ ### 运行模拟 -本教程所需的文件可以在目录 `tutorials/dmft-03-interaction` 中找到。与教程 02 一样,你可以运行简短版脚本 [`tutorial3.py`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-03-interaction/tutorial3.py),它只重现 6 条曲线中的 2 条(运行时间:约 10 分钟);也可以运行完整版脚本 [`tutorial3_long.py`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-03-interaction/tutorial3_long.py),它会重现全部 6 条曲线(运行时间:约 30 分钟)。在这一弱耦合区域中,CT-INT 达到同等统计精度所需时间比 CT-HYB 更短,因此这里的 `MAX_TIME` 被设置为每次迭代 10 秒,远低于教程 02 中的 300 秒。 +本教程所需的文件可以在目录 `tutorials/dmft-03-interaction` 中找到。与教程 02 一样,你可以运行简短版脚本 `tutorial3.py`,它只重现 6 条曲线中的 2 条(运行时间:约 10 分钟);也可以运行完整版脚本 `tutorial3_long.py`,它会重现全部 6 条曲线(运行时间:约 30 分钟)。在这一弱耦合区域中,CT-INT 达到同等统计精度所需时间比 CT-HYB 更短,因此这里的 `MAX_TIME` 被设置为每次迭代 10 秒,远低于教程 02 中的 300 秒。 ``` import pyalps @@ -151,7 +151,7 @@ CT-INT 与 CT-HYB 用不同的图形展开求解同一个杂质问题,比较 ### 输出数据与绘图 -结果的分析方式与 [DMFT-02 Hybridization](../dmft02) 完全相同,使用 [`tutorial3eval.py`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-03-interaction/tutorial3eval.py)(结构与 `tutorial2eval.py` 相同)。首先是紧接在 `tutorial3.py` 之后、绘制两个味的虚时间格林函数的代码: +结果的分析方式与 [DMFT-02 Hybridization](../dmft02) 完全相同,使用 `tutorial3eval.py`(结构与 `tutorial2eval.py` 相同)。首先是紧接在 `tutorial3.py` 之后、绘制两个味的虚时间格林函数的代码: ``` listobs=['0', '1'] # we will plot both flavors 0 and 1 diff --git a/content/zh-cn/tutorials/dmft/dmft04.md b/content/zh-cn/tutorials/dmft/dmft04.md index 8a859011..4c5fe08e 100644 --- a/content/zh-cn/tutorials/dmft/dmft04.md +++ b/content/zh-cn/tutorials/dmft/dmft04.md @@ -45,7 +45,7 @@ $$ ### 运行模拟 -要用 python 运行模拟,请使用 [`tutorial4a.py`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-04-mott/tutorial4a.py): +要用 python 运行模拟,请使用 `tutorial4a.py`: ``` import pyalps @@ -184,7 +184,7 @@ plt.show() ### 检验收敛性 -可以使用 [`tutorial4b.py`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-04-mott/tutorial4b.py) 来检验收敛性: +可以使用 `tutorial4b.py` 来检验收敛性: ``` import pyalps diff --git a/content/zh-cn/tutorials/dmft/dmft05.md b/content/zh-cn/tutorials/dmft/dmft05.md index 043d1d3c..1b36a41d 100644 --- a/content/zh-cn/tutorials/dmft/dmft05.md +++ b/content/zh-cn/tutorials/dmft/dmft05.md @@ -50,7 +50,7 @@ $$ 这里我们选取的算例中,两条能带的带宽为 $t_0=0.5$ 和 $t_1=1$,密度-密度型相互作用为 $U'=U/2$、$J=U/4$,$U$ 取值在 $1.8$ 到 $2.8$ 之间:$U=1.8$ 时两条轨道均表现出费米液体行为,$U=2.2$ 时体系为轨道选择性的,而 $U=2.8$ 时两条轨道均为绝缘态。 -运行模拟的 python 命令可以在 [`tutorial5a.py`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-05-osmt/tutorial5a.py) 中找到: +运行模拟的 python 命令可以在 `tutorial5a.py` 中找到: ``` import pyalps @@ -190,7 +190,7 @@ plt.show() ### 检验收敛性 -可以使用 [`tutorial5b.py`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-05-osmt/tutorial5b.py) 检验收敛性,它以对数坐标绘制味 0 和味 2 各自的所有迭代 $G_f^{it}(\tau)$: +可以使用 `tutorial5b.py` 检验收敛性,它以对数坐标绘制味 0 和味 2 各自的所有迭代 $G_f^{it}(\tau)$: ``` import pyalps diff --git a/content/zh-cn/tutorials/dmft/dmft06.md b/content/zh-cn/tutorials/dmft/dmft06.md index 5094e2c2..10a24408 100644 --- a/content/zh-cn/tutorials/dmft/dmft06.md +++ b/content/zh-cn/tutorials/dmft/dmft06.md @@ -69,7 +69,7 @@ python tutorial6a.py python tutorial6b.py ``` -[`tutorial6a.py`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-06-paramagnet/hyb/tutorial6a.py)(CT-HYB): +`tutorial6a.py`(CT-HYB): ``` import pyalps @@ -113,7 +113,7 @@ input_file = pyalps.writeParameterFile('parm_hyb',parms[0]) res = pyalps.runDMFT(input_file) ``` -[`tutorial6b.py`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-06-paramagnet/int/tutorial6b.py)(CT-INT): +`tutorial6b.py`(CT-INT): ``` import pyalps diff --git a/content/zh-cn/tutorials/dmft/dmft07.md b/content/zh-cn/tutorials/dmft/dmft07.md index 3f3749dd..4e63be4f 100644 --- a/content/zh-cn/tutorials/dmft/dmft07.md +++ b/content/zh-cn/tutorials/dmft/dmft07.md @@ -43,7 +43,7 @@ $$ ### 运行模拟 -Hirsch-Fye 模拟每次迭代大约需要 20 秒。本教程所需的文件可以在目录 `tutorials/dmft-07-hirschfye` 中找到。与教程 02、03 一样,你可以运行简短版脚本 [`tutorial7.py`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-07-hirschfye/tutorial7.py),它只重现 6 条曲线中的 2 条(运行时间:约 5 分钟);也可以运行完整版脚本 [`tutorial7_long.py`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-07-hirschfye/tutorial7_long.py),它会重现全部 6 条曲线。 +Hirsch-Fye 模拟每次迭代大约需要 20 秒。本教程所需的文件可以在目录 `tutorials/dmft-07-hirschfye` 中找到。与教程 02、03 一样,你可以运行简短版脚本 `tutorial7.py`,它只重现 6 条曲线中的 2 条(运行时间:约 5 分钟);也可以运行完整版脚本 `tutorial7_long.py`,它会重现全部 6 条曲线。 ``` import pyalps @@ -165,7 +165,7 @@ Hirsch-Fye 的工作方式与 CT-HYB、CT-INT 截然不同:它将 $e^{-\beta \ ### 输出数据与绘图 -用于结果分析,你可以借助 [DMFT-02 Hybridization](../dmft02) 中说明的 `tutorial2eval.py`,也可以使用与之结构相同的 [`tutorial7eval.py`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-07-hirschfye/tutorial7eval.py):它会绘制按迭代分辨的 $G(\tau)$、占据数 $n_0=-G_0(\tau=\beta^-)$ 随 $\beta$ 的变化,以及(通过 Dyson 方程得到的)松原频率下的格林函数与自能,针对两个味都会绘制。 +用于结果分析,你可以借助 [DMFT-02 Hybridization](../dmft02) 中说明的 `tutorial2eval.py`,也可以使用与之结构相同的 `tutorial7eval.py`:它会绘制按迭代分辨的 $G(\tau)$、占据数 $n_0=-G_0(\tau=\beta^-)$ 随 $\beta$ 的变化,以及(通过 Dyson 方程得到的)松原频率下的格林函数与自能,针对两个味都会绘制。 ``` import pyalps diff --git a/content/zh-cn/tutorials/dmft/dmft08.md b/content/zh-cn/tutorials/dmft/dmft08.md index ee2d34b1..dd66ccba 100644 --- a/content/zh-cn/tutorials/dmft/dmft08.md +++ b/content/zh-cn/tutorials/dmft/dmft08.md @@ -77,7 +77,7 @@ $$ o o ``` -每个 DOS 表都是由一个小型直方图生成脚本——[`DOS_Square.py`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-08-lattices/DOS/DOS_Square.py)(`GRID=4000`)、[`DOS_Cubic.py`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-08-lattices/DOS/DOS_Cubic.py)(`GRID=360`)、[`DOS_Hexagonal.py`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-08-lattices/DOS/DOS_Hexagonal.py)(`GRID=4000`)——通过在 `GRID`$\times$`GRID` 的 k 点网格上对紧束缚色散在整个布里渊区做积分而生成的。你也可以用同样的方法为任何其他格子生成 DOS 表,或者在构建自己的格子时,参考 [ALPS 格子库](../../../documentation/intro/latticehowtos) 了解格子几何结构和配位数。 +每个 DOS 表都是由一个小型直方图生成脚本——`DOS_Square.py`(`GRID=4000`)、`DOS_Cubic.py`(`GRID=360`)、`DOS_Hexagonal.py`(`GRID=4000`)——通过在 `GRID`$\times$`GRID` 的 k 点网格上对紧束缚色散在整个布里渊区做积分而生成的。你也可以用同样的方法为任何其他格子生成 DOS 表,或者在构建自己的格子时,参考 [ALPS 格子库](../../../documentation/intro/latticehowtos) 了解格子几何结构和配位数。 **TWODBS**:对于正方格子和六角格子,ALPS 可以不依赖预先制表的 DOS 文件,而是在每一步自洽计算中,将 Hilbert 变换直接作为实时的 k 空间积分(在 $L\times L$ 的 k 点网格上离散化)来求值。 @@ -87,7 +87,7 @@ $$ ### Option DOSFILE -对于一般的格子,你需要提供该格子的态密度。除此之外,还需要做一些其他修改才能运行模拟。下面是一个可用的 python 脚本 [`tutorial8a.py`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-08-lattices/tutorial8a.py),用于设置输入文件、运行模拟并绘制结果: +对于一般的格子,你需要提供该格子的态密度。除此之外,还需要做一些其他修改才能运行模拟。下面是一个可用的 python 脚本 `tutorial8a.py`,用于设置输入文件、运行模拟并绘制结果: ``` import pyalps @@ -192,7 +192,7 @@ $$ - 正方格子 [设置 TWODBS=square],具有最近邻 [对应参数:t] 和次近邻跳跃 [对应参数:tprime];二阶矩 EPSSQ_i 为 $4(t^2 + tprime^2)$; - 六角格子 [设置 TWODBS=hexagonal],仅具有最近邻跳跃 [对应参数:t];二阶矩 EPSSQ_i 为 $3t^2$。 -下面是一个用于生成输入文件、运行模拟并绘制结果的可用 python 脚本 [`tutorial8b.py`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-08-lattices/tutorial8b.py): +下面是一个用于生成输入文件、运行模拟并绘制结果的可用 python 脚本 `tutorial8b.py`: ``` import pyalps