diff --git a/assets/js/alps-download.js b/assets/js/alps-download.js new file mode 100644 index 00000000..0a018631 --- /dev/null +++ b/assets/js/alps-download.js @@ -0,0 +1,44 @@ +// Download tutorial scripts without navigating away from the page. +// +// The scripts live in ALPSim/ALPS, so the links are cross-origin and the HTML +// `download` attribute is ignored. raw.githubusercontent.com sends +// `access-control-allow-origin: *`, so we can fetch the file and hand the +// browser a same-origin blob to save instead. +// +// If the fetch fails (offline, rate limited, file moved) we fall back to +// opening the raw URL in a new tab, so the link is never a dead end. +(function () { + "use strict"; + + document.addEventListener("click", function (event) { + if (event.defaultPrevented || event.button !== 0) return; + if (event.metaKey || event.ctrlKey || event.shiftKey || event.altKey) return; + + var link = event.target.closest("a.alps-download"); + if (!link) return; + + event.preventDefault(); + + var url = link.href; + var filename = link.dataset.filename || url.split("/").pop(); + + fetch(url) + .then(function (response) { + if (!response.ok) throw new Error("HTTP " + response.status); + return response.blob(); + }) + .then(function (blob) { + var objectURL = URL.createObjectURL(blob); + var temp = document.createElement("a"); + temp.href = objectURL; + temp.download = filename; + document.body.appendChild(temp); + temp.click(); + temp.remove(); + URL.revokeObjectURL(objectURL); + }) + .catch(function () { + window.open(url, "_blank", "noopener"); + }); + }); +})(); diff --git a/content/en/tutorials/dmft/dmft02.md b/content/en/tutorials/dmft/dmft02.md index 2d08136f..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`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-02-hybridization/tutorial2.py), reproducing only 2 out of the 6 curves (runtime: roughly 20 minutes), or the long version [`tutorial2_long.py`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-02-hybridization/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`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-02-hybridization/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 784b0fd3..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`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-03-interaction/tutorial3.py), reproducing 2 of the 6 curves (runtime: roughly 10 minutes), or the long version [`tutorial3_long.py`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-03-interaction/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`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-03-interaction/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 d205c7e5..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`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-04-mott/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`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-04-mott/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 78ccf7b1..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`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-05-osmt/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`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-05-osmt/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 458deba0..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`](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/en/tutorials/dmft/dmft07.md b/content/en/tutorials/dmft/dmft07.md index c09920cd..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`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-07-hirschfye/tutorial7.py), reproducing 2 of the 6 curves (runtime: roughly 5 minutes), or the long version [`tutorial7_long.py`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-07-hirschfye/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`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-07-hirschfye/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 b9faabdf..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`](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`), and [`DOS_Hexagonal.py`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-08-lattices/DOS/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 — [`DOS_Square.py`](ht ### Option DOSFILE -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`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-08-lattices/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`](https://github.com/ALPSim/ALPS/blob/daa73925b95389c0ec5e0d76ce592b56f3cd6738/tutorials/dmft-08-lattices/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 diff --git a/layouts/baseof.html b/layouts/baseof.html index a86e742a..530dae58 100644 --- a/layouts/baseof.html +++ b/layouts/baseof.html @@ -17,5 +17,14 @@ {{ end }} {{ partial "scripts.html" . }} {{- partial "chatbot.html" . -}} + + + {{- $dl := resources.Get "js/alps-download.js" -}} + {{- if hugo.IsProduction -}} + {{- $dl = $dl | minify | fingerprint -}} + + {{- else -}} + + {{- end -}}