%% Draw where each component of beta functions vanishes at 2-loop for d=3 function []=figure1b() d=3; % spatial dimension g_grain=0.0001; % how fine we grid the curves %% Plot close all figure() hold on % beta^I=0, branch I: gI=0; plot([0,0],[-2,8],'color',[0,0.8,0],'LineStyle','-','LineWidth',3) % beta^I=0, branch II, as a function of g^II gIIs=(-2):g_grain:8; NII=size(gIIs,2); betaIzero1=zeros(size(gIIs)); betaIzero2=zeros(size(gIIs)); nonimaginary=zeros(size(gIIs)); for ii=1:NII gII=gIIs(ii); p=[0,0,-57/16,(13/2)*gII,-(11/4)*(gII^2)+((d-6)/2)]; p=p+[-42293/2304,(35639/576)*(gII),-(22265/288)*(gII^2),(11987/288)*(gII^3),-(1139/144)*(gII^4)]; r=roots(p); eliminate_imaginary=logical(imag(r)); r=r(logical(1-eliminate_imaginary)); Nr=length(r); % special care for the reflection image if gII<=0 Nr=0; end if Nr>2 disp('more_solution_than_expected_for_betaIzero') end if Nr>0 nonimaginary(ii)=1; betaIzero1(ii)=max(r); betaIzero2(ii)=min(r); end end nonimaginary=logical(nonimaginary); betaIzero1=betaIzero1(nonimaginary); betaIzero2=betaIzero2(nonimaginary); gIIs=gIIs(nonimaginary); gIIs=[fliplr(gIIs),gIIs]; betaIzero=[fliplr(betaIzero1),betaIzero2]; plot(betaIzero,gIIs,'color',[0,0.8,0],'LineStyle','-','LineWidth',3) % beta^II=0, two branches, as a function of g^I gIs=0:g_grain:10; NI=size(gIs,2); betaIIzero1=zeros(size(gIs)); betaIIzero2=zeros(size(gIs)); betaIIzero3=zeros(size(gIs)); nonimaginary=zeros(size(gIs)); for ii=1:NI gI=gIs(ii); p=[0,0,-3/2,(7/2)*gI,-(25/16)*(gI^2)+((d-6)/2),-(1/8)*(gI^3)]; p=p+[-1931/576,(5099/288)*(gI),-(35879/1152)*(gI^2),(25615/1152)*(gI^3),-(11153/2304)*(gI^4),-(571/786)*(gI^5)]; r=roots(p); eliminate_imaginary=logical(imag(r)); r=r(logical(1-eliminate_imaginary)); [betaIIzero3(ii),i_min]=min(r); r(i_min)=[]; Nr=length(r); if Nr>2 disp('more_solution_than_expected_for_betaIIzero') end if Nr>0 nonimaginary(ii)=1; betaIIzero1(ii)=max(r); betaIIzero2(ii)=min(r); end end plot(gIs,betaIIzero3,'color',[0,0,0],'LineStyle','--','LineWidth',3) nonimaginary=logical(nonimaginary); betaIIzero1=betaIIzero1(nonimaginary); betaIIzero2=betaIIzero2(nonimaginary); gIs=gIs(nonimaginary); gIs=[fliplr(gIs),gIs]; betaIIzero=[fliplr(betaIIzero1),betaIIzero2]; plot(gIs,betaIIzero,'color',[0,0,0],'LineStyle','--','LineWidth',3) % Gaussian fixed point scatter(0,0,100,[1,0,0],'filled') % The strong-coupling fixed point for d=3 scatter(1.0598842,1.6934949,100,[0,0,1],'filled') xlim([0,10]) ylim([-2,8]) xlabel('$g^{\mathrm{I}}$','Interpreter','latex'); ylabel('$g^{\mathrm{II}}$','Interpreter','latex') print(gcf, '-dpng', './figure1b.png'); end