Ian Jauslin
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorIan Jauslin <ian@jauslin.org>2022-06-14 16:32:34 +0200
committerIan Jauslin <ian@jauslin.org>2022-06-14 16:32:34 +0200
commitd254a3e3f495e9cd3110ae48020786466d850d57 (patch)
treec88e465b5bc2aff974daaa3617adf615a0b68880 /figs/hierarchical_sd.fig
Initial commitv1.0
Diffstat (limited to 'figs/hierarchical_sd.fig')
-rw-r--r--figs/hierarchical_sd.fig/Makefile32
-rwxr-xr-xfigs/hierarchical_sd.fig/gendat30
-rw-r--r--figs/hierarchical_sd.fig/sd.mk81
-rw-r--r--figs/hierarchical_sd.fig/sd_vector_field.gnuplot25
4 files changed, 168 insertions, 0 deletions
diff --git a/figs/hierarchical_sd.fig/Makefile b/figs/hierarchical_sd.fig/Makefile
new file mode 100644
index 0000000..175f61b
--- /dev/null
+++ b/figs/hierarchical_sd.fig/Makefile
@@ -0,0 +1,32 @@
+PROJECTNAME=sd_vector_field
+
+DATS=sd_vector_field.dat
+PDFS=$(addsuffix .pdf, $(PROJECTNAME))
+TEXS=$(addsuffix .tikz.tex, $(PROJECTNAME))
+
+all: $(PDFS)
+
+$(PDFS): $(DATS)
+ gnuplot $(patsubst %.pdf, %.gnuplot, $@) > $(patsubst %.pdf, %.tikz.tex, $@)
+ pdflatex -jobname $(basename $@) -file-line-error $(patsubst %.pdf, %.tikz.tex, $@)
+
+sd_vector_field.dat:
+ meankondo -C sd.mk > sd-numkondo.mk
+ ./gendat > $@
+
+install: $(PDFS)
+ cp $^ $(INSTALLDIR)/
+
+clean-aux:
+ rm -f $(addsuffix .tikz.tex, $(PROJECTNAME))
+ rm -f $(addsuffix .aux, $(PROJECTNAME))
+ rm -f $(addsuffix .log, $(PROJECTNAME))
+
+clean-dat:
+ rm -f $(DATS)
+ rm -f sd-numkondo.mk
+
+clean-tex:
+ rm -f $(PDFS)
+
+clean: clean-aux clean-tex
diff --git a/figs/hierarchical_sd.fig/gendat b/figs/hierarchical_sd.fig/gendat
new file mode 100755
index 0000000..08bbdd9
--- /dev/null
+++ b/figs/hierarchical_sd.fig/gendat
@@ -0,0 +1,30 @@
+#!/bin/bash
+
+# location of numkondo config
+config=$(dirname $0)/sd-numkondo.mk
+
+# range and number of points in each direction
+minx=-1
+maxx=0.5
+nx=20
+
+miny=-0.4
+maxy=0.4
+ny=20
+
+# compute each point
+for i in $(seq $nx); do
+ # alpha_0
+ alpha0=$(python -c "print($minx+($maxx-($minx))/($nx-1)*($i-1))")
+ for j in $(seq $ny); do
+ # alpha_1
+ alpha1=$(python -c "print($miny+($maxy-($miny))/($ny-1)*($j-1))")
+
+ # print alphas
+ echo -n "$alpha0 $alpha1 "
+
+ # compute step and select the relevant lines
+ dat=$(numkondo -N 1 -F -I "0:$alpha0,1:$alpha1" "$config" | sed -r '/^[^01]/d;s/^[0-9]*://;s/,//' | tr '\n' ' ')
+ echo "$dat"
+ done
+done
diff --git a/figs/hierarchical_sd.fig/sd.mk b/figs/hierarchical_sd.fig/sd.mk
new file mode 100644
index 0000000..f0bd584
--- /dev/null
+++ b/figs/hierarchical_sd.fig/sd.mk
@@ -0,0 +1,81 @@
+#!fields
+x:100,110
+i:101,102,111,112
+h:400,410,420
+f:100,110,101,102,111,112
+a:400,410,420
+
+&
+#!preprocessor_variables
+psiAu1=[f100]+[f101],
+psiAu2=[f100]+[f102],
+psiAd1=[f110]+[f111],
+psiAd2=[f110]+[f112],
+
+psiAu1-=[f-100]+[f-101],
+psiAu2-=[f-100]+[f-102],
+psiAd1-=[f-110]+[f-111],
+psiAd2-=[f-110]+[f-112],
+
+A11=<<$psiAu1>*<$psiAd1->>+<<$psiAd1>*<$psiAu1->>,
+A12=<<$psiAu2>*<$psiAd2->>+<<$psiAd2>*<$psiAu2->>,
+
+A21=<<(-1)s{-1}>*<$psiAu1>*<$psiAd1->>+<<s{-1}>*<$psiAd1>*<$psiAu1->>,
+A22=<<(-1)s{-1}>*<$psiAu2>*<$psiAd2->>+<<s{-1}>*<$psiAd2>*<$psiAu2->>,
+
+A31=<<$psiAu1>*<$psiAu1->>+<<-1>*<$psiAd1>*<$psiAd1->>,
+A32=<<$psiAu2>*<$psiAu2->>+<<-1>*<$psiAd2>*<$psiAd2->>,
+
+AB1=<<$A11>*<[f400]>>+<<$A21>*<[f410]>>+<<$A31>*<[f420]>>,
+AA1=<<$A11>*<$A11>>+<<$A21>*<$A21>>+<<$A31>*<$A31>>,
+
+AB2=<<$A12>*<[f400]>>+<<$A22>*<[f410]>>+<<$A32>*<[f420]>>,
+AA2=<<$A12>*<$A12>>+<<$A22>*<$A22>>+<<$A32>*<$A32>>,
+
+
+A1=[f100][f-110] + [f110][f-100],
+A2=((-1)s{-1})[f100][f-110] + (s{-1})[f110][f-100],
+A3=[f100][f-100] + (-1)[f110][f-110],
+
+AB=<<$A1>*<[f400]>>+<<$A2>*<[f410]>>+<<$A3>*<[f420]>>,
+AA=<<$A1>*<$A1>>+<<$A2>*<$A2>>+<<$A3>*<$A3>>
+
+&
+#!identities
+[f400][f400]=(1),
+[f400][f410]=(s{-1})[f420],
+[f420][f410]=((-1)s{-1})[f400],
+[f410][f410]=(1),
+[f410][f420]=(s{-1})[f400],
+[f400][f420]=((-1)s{-1})[f410],
+[f420][f420]=(1),
+[f420][f400]=(s{-1})[f410],
+[f410][f400]=((-1)s{-1})[f420]
+
+&
+#!propagator
+101;102: 1 ,111;112: 1 ,
+102;101: -1 ,112;111: -1
+&
+#!input_polynomial
+<
+ <1>
+ + <<(1/2)[l0]>*<$AB1>>
+ + <<(1/2)[l1]>*<$AA1>>
+>*<
+ <1>
+ + <<(1/2)[l0]>*<$AB2>>
+ + <<(1/2)[l1]>*<$AA2>>
+>
+
+&
+
+#!id_table
+0: <$AB>,
+1: <2>*<$AA>
+
+&
+
+#!labels
+0:"at" ,
+1:"aa" ,
diff --git a/figs/hierarchical_sd.fig/sd_vector_field.gnuplot b/figs/hierarchical_sd.fig/sd_vector_field.gnuplot
new file mode 100644
index 0000000..9952d15
--- /dev/null
+++ b/figs/hierarchical_sd.fig/sd_vector_field.gnuplot
@@ -0,0 +1,25 @@
+set ylabel "$\\ell_1$" norotate
+set xlabel "$\\ell_0$"
+
+# default output canvas size: 12.5cm x 8.75cm
+set term lua tikz size 8,6 standalone
+
+unset key
+
+set pointsize 1
+
+# color functions
+
+rgb(r,g,b) = 65536 * int(r) + 256 * int(g) + int(b)
+color(x) = rgb(x*255, 0 , (1-x)*255)
+
+# get min/max
+set yrange [-1000:1000]
+stats "sd_vector_field.dat" u (log10(sqrt(($3-$1)**2+($4-$2)**2)))
+
+set xrange [-1:0.5]
+set yrange [-0.4:0.4]
+
+rescale=40
+
+plot "sd_vector_field.dat" u 1:2:(($3-$1)/sqrt(($3-$1)**2+($4-$2)**2)/rescale):(($4-$2)/sqrt(($3-$1)**2+($4-$2)**2)/rescale):(color((log10(sqrt(($3-$1)**2+($4-$2)**2))-STATS_min)/(STATS_max-STATS_min))) with vec filled head linecolor rgb variable