Skip to content

Commit af8b63a

Browse files
List Impurity methods in the docs (#115)
* small fixes in impurity docstrings * cleanup * list the impurity methods in the docs * fix citation * change order of citations * remove newline from `ImpurityHOTRG` docstring * Added extra documentation to `ImpurityTRG` (#116) * Added extra documentation * Improved docs * fix field annotations * fix merge --------- Co-authored-by: Jarid Piceu <jarid.piceu@ugent.be>
1 parent 7feeb45 commit af8b63a

4 files changed

Lines changed: 50 additions & 27 deletions

File tree

docs/src/assets/tnrkit.bib

Lines changed: 22 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -103,28 +103,29 @@ @article{yangLoopOptimizationTensor2017
103103
}
104104

105105
@article{kadohTensorNetworkAnalysis2019,
106-
title = {Tensor network analysis of critical coupling in two dimensional $\varphi^{4}$ theory},
107-
author = {Kadoh, Daisuke and Kuramashi, Yoshinobu and Nakamura, Yoshifumi and Sakai, Ryo and Takeda, Shinji and Yoshimura, Yusuke},
108-
year = 2019,
109-
month = may,
110-
journal = {Journal of High Energy Physics},
111-
volume = {2019},
112-
number = {5},
113-
eprint = {1811.12376},
106+
title = {Tensor network analysis of critical coupling in two dimensional $\varphi^{4}$ theory},
107+
author = {Kadoh, Daisuke and Kuramashi, Yoshinobu and Nakamura, Yoshifumi and Sakai, Ryo and Takeda, Shinji and Yoshimura, Yusuke},
108+
year = 2019,
109+
month = may,
110+
journal = {Journal of High Energy Physics},
111+
volume = {2019},
112+
number = {5},
113+
eprint = {1811.12376},
114114
primaryclass = {hep-lat},
115-
pages = {184},
116-
issn = {1029-8479},
117-
doi = {10.1007/JHEP05(2019)184}
115+
pages = {184},
116+
issn = {1029-8479},
117+
doi = {10.1007/JHEP05(2019)184}
118118
}
119119

120-
@article{moritaMultiimpurityMethodBondweighted2024,
121-
title = {Multi-Impurity Method for the Bond-Weighted Tensor Renormalization Group},
122-
author = {Morita, Satoshi and Kawashima, Naoki},
123-
year = 2024,
124-
month = nov,
125-
number = {arXiv:2411.13998},
126-
eprint = {2411.13998},
127-
primaryclass = {cond-mat},
128-
publisher = {arXiv},
129-
doi = {10.48550/arXiv.2411.13998}
120+
@article{moritaMultiimpurityMethodBondweighted2025,
121+
title = {Multi-Impurity Method for the Bond-Weighted Tensor Renormalization Group},
122+
author = {Morita, Satoshi and Kawashima, Naoki},
123+
year = 2025,
124+
month = feb,
125+
journal = {Physical Review B},
126+
volume = {111},
127+
number = {5},
128+
issn = {2469-9950, 2469-9969},
129+
doi = {10.1103/PhysRevB.111.054433},
130+
langid = {english}
130131
}

docs/src/index.md

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,10 @@ Many common TNR schemes have already been implemented:
2626
* `c4vCTM` (c4v symmetric CTM)
2727
* `rCTM` (reflection symmetric CTM)
2828

29+
**Impurity Methods**
30+
* [`ImpurityTRG`](@ref)
31+
* [`ImpurityHOTRG`](@ref)
32+
2933
**3D cubic tensor networks**
3034
* [`ATRG_3D`](@ref) (anisotropic TRG)
3135
* [`HOTRG_3D`](@ref) (higher order TRG)

src/schemes/impurityhotrg.jl

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Single impurity method for Higher-Order Tensor Renormalization Group (for 2nd or
77
$(FUNCTIONNAME)(T, T_imp_order1_1, T_imp_order1_2, T_imp_order2)
88
99
### Running the algorithm
10-
run!(::ImpurityHOTRG, trunc::TensorKit.TruncationSheme, stop::Stopcrit[, finalizer=default_Finalizer, finalize_beginning=true, verbosity=1])
10+
run!(::ImpurityHOTRG, trunc::TensorKit.TruncationSheme, stop::Stopcrit[, finalizer=ImpurityHOTRG_Finalizer, finalize_beginning=true, verbosity=1])
1111
1212
Each step rescales the lattice by a (linear) factor of 2
1313
@@ -22,7 +22,6 @@ $(TYPEDFIELDS)
2222
2323
### References
2424
* [Morita et al 10.1016/j.cpc.2018.10.014 (2018)](@cite moritaCalculationHigherorderMoments2019)
25-
2625
"""
2726
mutable struct ImpurityHOTRG{E, S, TT <: AbstractTensorMap{E, S, 2, 2}} <: TNRScheme{E, S}
2827
"Cental Tensor"

src/schemes/impuritytrg.jl

Lines changed: 23 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ Impurity method for Tensor Renormalization Group
77
$(FUNCTIONNAME)(T, T_imp1, T_imp2, T_imp3, T_imp4)
88
99
### Running the algorithm
10-
run!(::ImpurityTRG, trunc::TensorKit.TruncationSheme, stop::Stopcrit[, finalizer=default_Finalizer, finalize_beginning=true, verbosity=1])
10+
run!(::ImpurityTRG, trunc::TensorKit.TruncationSheme, stop::Stopcrit[, finalizer=ImpurityTRG_Finalizer, finalize_beginning=true, verbosity=1])
1111
1212
Each step rescales the lattice by a (linear) factor of √2
1313
@@ -20,23 +20,42 @@ Each step rescales the lattice by a (linear) factor of √2
2020
2121
$(TYPEDFIELDS)
2222
23+
Illustration (with p the pure tensor, and the p fills in the rest of the lattice):
24+
```
25+
p p
26+
| |
27+
p---1---2---p
28+
| |
29+
p---4---3---p
30+
| |
31+
p p
32+
```
33+
2334
### References
24-
* [Morita et. al. 10.48550/arXiv.2411.13998 (2024)](@cite moritaMultiimpurityMethodBondweighted2024)
25-
* [Nakamoto et. al. 10.1007/JHEP05(2019)184 (2019)](@cite kadohTensorNetworkAnalysis2019)
35+
* [Kadoh et. al. 10.1007/JHEP05(2019)184 (2019)](@cite kadohTensorNetworkAnalysis2019)
36+
* [Morita et. al. Phys. Rev. B 111 (2025)](@cite moritaMultiimpurityMethodBondweighted2025)
2637
"""
2738
mutable struct ImpurityTRG{E, S, TT <: AbstractTensorMap{E, S, 2, 2}} <: TNRScheme{E, S}
39+
"Pure tensor"
2840
T::TT
41+
42+
"Impurity tensor on lattice site 1"
2943
T_imp1::TT
44+
45+
"Impurity tensor on lattice site 2"
3046
T_imp2::TT
47+
48+
"Impurity tensor on lattice site 3"
3149
T_imp3::TT
50+
51+
"Impurity tensor on lattice site 4"
3252
T_imp4::TT
3353

3454
function ImpurityTRG(T::TT, T_imp1::TT, T_imp2::TT, T_imp3::TT, T_imp4::TT) where {E, S, TT <: AbstractTensorMap{E, S, 2, 2}}
3555
@assert space(T, 1) == space(T_imp1, 1) == space(T_imp2, 1) == space(T_imp3, 1) == space(T_imp4, 1) "First space of T, T_imp1, T_imp2, T_imp3 and T_imp4 must be the same"
3656
@assert space(T, 2) == space(T_imp1, 2) == space(T_imp2, 2) == space(T_imp3, 2) == space(T_imp4, 2) "Second space of T, T_imp1, T_imp2, T_imp3 and T_imp4 must be the same"
3757
@assert space(T, 3) == space(T_imp1, 3) == space(T_imp2, 3) == space(T_imp3, 3) == space(T_imp4, 3) "Third space of T, T_imp1, T_imp2, T_imp3 and T_imp4 must be the same"
3858
@assert space(T, 4) == space(T_imp1, 4) == space(T_imp2, 4) == space(T_imp3, 4) == space(T_imp4, 4) "Fourth space of T, T_imp1, T_imp2, T_imp3 and T_imp4 must be the same"
39-
4059
return new{E, S, TT}(T, T_imp1, T_imp2, T_imp3, T_imp4)
4160
end
4261
end

0 commit comments

Comments
 (0)