|
1094 | 1094 | "end\n", |
1095 | 1095 | "\n", |
1096 | 1096 | "\n", |
| 1097 | + "# RSCG stops when |r|^2 max_j|rho_j| < eps. The default eps = 1e-12 is too loose at eta = 0.01:\n", |
| 1098 | + "# the local DOS then deviates from exact diagonalization by up to 0.06. With eps = 1e-60 it agrees to 1e-11.\n", |
| 1099 | + "eps_rscg = 1e-60\n", |
| 1100 | + "\n", |
1097 | 1101 | "ix = Nx ÷ 2\n", |
1098 | 1102 | "iy = Ny ÷ 2\n", |
1099 | 1103 | "ispin =1\n", |
1100 | 1104 | "\n", |
1101 | 1105 | "i = (( iy-1)*Nx + ix-1)*2 + ispin\n", |
1102 | 1106 | "j = i\n", |
1103 | | - "Gij1 = greensfunctions(i,j,σ,Htsc) \n", |
| 1107 | + "Gij1 = greensfunctions(i,j,σ,Htsc; eps=eps_rscg)\n", |
1104 | 1108 | "\n", |
1105 | 1109 | "ispin =2\n", |
1106 | 1110 | "i = (( iy-1)*Nx + ix-1)*2 + ispin\n", |
1107 | 1111 | "j = i\n", |
1108 | | - "Gij2 = greensfunctions(i,j,σ,Htsc) \n", |
| 1112 | + "Gij2 = greensfunctions(i,j,σ,Htsc; eps=eps_rscg)\n", |
1109 | 1113 | "plot(real.(σ),(-1/π)*imag.(Gij1 .+ Gij2),\n", |
1110 | 1114 | " xlabel = \"Energy [t]\",\n", |
1111 | 1115 | " ylabel = \"Local DOS\",)\n" |
|
1132 | 1136 | "\n", |
1133 | 1137 | "i = (( iy-1)*Nx + ix-1)*2 + ispin\n", |
1134 | 1138 | "j = i\n", |
1135 | | - "Gij1 = greensfunctions(i,j,σ,Htsc) \n", |
| 1139 | + "Gij1 = greensfunctions(i,j,σ,Htsc; eps=eps_rscg)\n", |
1136 | 1140 | "\n", |
1137 | 1141 | "ispin =2\n", |
1138 | 1142 | "i = (( iy-1)*Nx + ix-1)*2 + ispin\n", |
1139 | 1143 | "j = i\n", |
1140 | | - "Gij2 = greensfunctions(i,j,σ,Htsc) \n", |
| 1144 | + "Gij2 = greensfunctions(i,j,σ,Htsc; eps=eps_rscg)\n", |
1141 | 1145 | "plot(real.(σ),(-1/π)*imag.(Gij1 .+ Gij2),\n", |
1142 | 1146 | " xlabel = \"Energy [t]\",\n", |
1143 | 1147 | " ylabel = \"Local DOS\",)" |
|
0 commit comments