Initialization

HaToeV=27.21138602;

HaTokJ=2625.5002;

Needs["MaTeX`"]
SetOptions[MaTeX,"Preamble"->{"\\usepackage{amssymb,amsmath,latexsym,amsfonts,amsthm,mathpazo,xcolor,bm,mhchem}"}];

SetDirectory["~/Dropbox/Manuscripts/srDFT_GW/Data"];

StatIP[set_,ref_]:=SetAccuracy[{Mean[Abs[set-ref]],RootMeanSquare[set-ref],Max[Abs[set-ref]]},3];

GW20

exFCI/def2-SVP

GW20=Import["GW20_FCI_def2SVP.dat","Data"];
IPFCI=Table[{GW20[[k,1]],(GW20[[k,3]]-GW20[[k,2]])HaToeV},{k,Length[GW20]}];
IPLDA=Table[{GW20[[k,1]],IPFCI[[k,2]]+(GW20[[k,5]]-GW20[[k,4]])HaToeV},{k,Length[GW20]}];
IPPBE=Table[{GW20[[k,1]],IPFCI[[k,2]]+(GW20[[k,7]]-GW20[[k,6]])HaToeV},{k,Length[GW20]}];
IPPBEot=Table[{GW20[[k,1]],IPFCI[[k,2]]+(GW20[[k,9]]-GW20[[k,8]])HaToeV},{k,Length[GW20]}];
IP=Table[{GW20[[k,1]],IPFCI[[k,2]],IPLDA[[k,2]],IPPBE[[k,2]],IPPBEot[[k,2]]},{k,Length[GW20]}];
TableForm[SetAccuracy[IP,3],TableHeadings->{None, {"Mol.","FCI","FCI+LDA","FCI+PBE","FCI+PBEot"}}]

exFCI/def2-TZVPP

GW20=Import["GW20_FCI_def2TZVPP.dat","Data"];
IPFCI=Table[{GW20[[k,1]],(GW20[[k,3]]-GW20[[k,2]])HaToeV},{k,Length[GW20]}];
IPLDA=Table[{GW20[[k,1]],IPFCI[[k,2]]+(GW20[[k,5]]-GW20[[k,4]])HaToeV},{k,Length[GW20]}];
IPPBE=Table[{GW20[[k,1]],IPFCI[[k,2]]+(GW20[[k,7]]-GW20[[k,6]])HaToeV},{k,Length[GW20]}];
IPPBEot=Table[{GW20[[k,1]],IPFCI[[k,2]]+(GW20[[k,9]]-GW20[[k,8]])HaToeV},{k,Length[GW20]}];
IP=Table[{GW20[[k,1]],IPFCI[[k,2]],IPLDA[[k,2]],IPPBE[[k,2]],IPPBEot[[k,2]]},{k,Length[GW20]}];
TableForm[SetAccuracy[IP,3],TableHeadings->{None, {"Mol.","FCI","FCI+LDA","FCI+PBE","FCI+PBEot"}}]

exFCI/def2-QZVP

GW20=Import["GW20_FCI_def2QZVP.dat","Data"];
IPFCI=Table[{GW20[[k,1]],(GW20[[k,3]]-GW20[[k,2]])HaToeV},{k,Length[GW20]}];
IPLDA=Table[{GW20[[k,1]],IPFCI[[k,2]]+(GW20[[k,5]]-GW20[[k,4]])HaToeV},{k,Length[GW20]}];
IPPBE=Table[{GW20[[k,1]],IPFCI[[k,2]]+(GW20[[k,7]]-GW20[[k,6]])HaToeV},{k,Length[GW20]}];
IPPBEot=Table[{GW20[[k,1]],IPFCI[[k,2]]+(GW20[[k,9]]-GW20[[k,8]])HaToeV},{k,Length[GW20]}];
IP=Table[{GW20[[k,1]],IPFCI[[k,2]],IPLDA[[k,2]],IPPBE[[k,2]],IPPBEot[[k,2]]},{k,Length[GW20]}];
TableForm[SetAccuracy[IP,3],TableHeadings->{None, {"Mol.","FCI","FCI+LDA","FCI+PBE","FCI+PBEot"}}]

(Subscript[G, 0])(Subscript[W, 0])@HF/cc-pVDZ

GW20$G0W0HF$ccpVDZ=Import["GW20_G0W0HF_cc-pVDZ.dat"];
IP$G0W0HF$ccpVDZ=Table[{
GW20$G0W0HF$ccpVDZ[[k,1]],
-GW20$G0W0HF$ccpVDZ[[k,2]],
-GW20$G0W0HF$ccpVDZ[[k,2]]-GW20$G0W0HF$ccpVDZ[[k,3]]HaToeV,
-GW20$G0W0HF$ccpVDZ[[k,2]]-GW20$G0W0HF$ccpVDZ[[k,4]]HaToeV
},{k,Length[GW20$G0W0HF$ccpVDZ]}];
TableForm[SetAccuracy[IP$G0W0HF$ccpVDZ,3],TableHeadings->{None, {"Mol.","G0W0@HF/cc-pVDZ","G0W0@HF+srLDA/cc-pVDZ","G0W0@HF+srPBE/cc-pVDZ"}}]

(Subscript[G, 0])(Subscript[W, 0])@HF/cc-pVTZ

GW20$G0W0HF$ccpVTZ=Import["GW20_G0W0HF_cc-pVTZ.dat"];
IP$G0W0HF$ccpVTZ=Table[{
GW20$G0W0HF$ccpVTZ[[k,1]],
-GW20$G0W0HF$ccpVTZ[[k,2]],
-GW20$G0W0HF$ccpVTZ[[k,2]]-GW20$G0W0HF$ccpVTZ[[k,3]]HaToeV,
-GW20$G0W0HF$ccpVTZ[[k,2]]-GW20$G0W0HF$ccpVTZ[[k,4]]HaToeV
},{k,Length[GW20$G0W0HF$ccpVTZ]}];
TableForm[SetAccuracy[IP$G0W0HF$ccpVTZ,3],TableHeadings->{None, {"Mol.","G0W0@HF/cc-pVTZ","G0W0@HF+srLDA/cc-pVTZ","G0W0@HF+srPBE/cc-pVTZ"}}]

(Subscript[G, 0])(Subscript[W, 0])@HF/cc-pVQZ

GW20$G0W0HF$ccpVQZ=Import["GW20_G0W0HF_cc-pVQZ.dat"];
IP$G0W0HF$ccpVQZ=Table[{
GW20$G0W0HF$ccpVQZ[[k,1]],
-GW20$G0W0HF$ccpVQZ[[k,2]],
-GW20$G0W0HF$ccpVQZ[[k,2]]-GW20$G0W0HF$ccpVQZ[[k,3]]HaToeV,
-GW20$G0W0HF$ccpVQZ[[k,2]]-GW20$G0W0HF$ccpVQZ[[k,4]]HaToeV
},{k,Length[GW20$G0W0HF$ccpVQZ]}];
TableForm[SetAccuracy[IP$G0W0HF$ccpVQZ,3],TableHeadings->{None, {"Mol.","G0W0@HF/cc-pVQZ","G0W0@HF+srLDA/cc-pVQZ","G0W0@HF+srPBE/cc-pVQZ"}}]

(Subscript[G, 0])(Subscript[W, 0])@HF/cc-pV5Z

GW20$G0W0HF$ccpV5Z=Import["GW20_G0W0HF_cc-pV5Z.dat"];
IP$G0W0HF$ccpV5Z=Table[{
GW20$G0W0HF$ccpV5Z[[k,1]],
-GW20$G0W0HF$ccpV5Z[[k,2]],
-GW20$G0W0HF$ccpV5Z[[k,2]]-GW20$G0W0HF$ccpV5Z[[k,3]]HaToeV,
-GW20$G0W0HF$ccpV5Z[[k,2]]-GW20$G0W0HF$ccpV5Z[[k,4]]HaToeV
},{k,Length[GW20$G0W0HF$ccpV5Z]}];
TableForm[SetAccuracy[IP$G0W0HF$ccpV5Z,3],TableHeadings->{None, {"Mol.","G0W0@HF/cc-pV5Z","G0W0@HF+srLDA/cc-pV5Z","G0W0@HF+srPBE/cc-pV5Z"}}]

(Subscript[G, 0])(Subscript[W, 0])@HF/CBS

IP$G0W0HF$CBS=Table[
data=Table[{(1/(((k+1))^3)),IP$G0W0HF[[Mol,k+1]]},{k,4}];
{IP$G0W0HF[[Mol,1]],SetAccuracy[Fit[Take[data,-3],{1,X},X]/.X->0,3]},
{Mol,20}]

(Subscript[G, 0])(Subscript[W, 0])@HF

IP$G0W0HF=Table[{
GW20$G0W0HF$ccpVDZ[[k,1]],
-GW20$G0W0HF$ccpVDZ[[k,2]],
-GW20$G0W0HF$ccpVTZ[[k,2]],
-GW20$G0W0HF$ccpVQZ[[k,2]],
-GW20$G0W0HF$ccpV5Z[[k,2]],
IP$G0W0HF$CBS[[k,2]]
},{k,Length[GW20$G0W0HF$ccpVDZ]}];
TableForm[SetAccuracy[IP$G0W0HF,3],TableHeadings->{None, {"Mol.","G0W0@HF/cc-pVDZ","G0W0@HF/cc-pVTZ","G0W0@HF/cc-pVQZ","G0W0@HF/cc-pV5Z","G0W0@HF/CBS"}}]
Table[StatIP[IP$G0W0HF[[;;,k]],IP$G0W0HF[[;;,6]]],{k,2,6}]\[Transpose]//TableForm

IP$G0W0HFsrLDA=Table[{
GW20$G0W0HF$ccpVDZ[[k,1]],
-GW20$G0W0HF$ccpVDZ[[k,2]]-GW20$G0W0HF$ccpVDZ[[k,3]]HaToeV,
-GW20$G0W0HF$ccpVTZ[[k,2]]-GW20$G0W0HF$ccpVTZ[[k,3]]HaToeV,
-GW20$G0W0HF$ccpVQZ[[k,2]]-GW20$G0W0HF$ccpVQZ[[k,3]]HaToeV,
-GW20$G0W0HF$ccpV5Z[[k,2]]-GW20$G0W0HF$ccpV5Z[[k,3]]HaToeV,
IP$G0W0HF$CBS[[k,2]]
},{k,Length[GW20$G0W0HF$ccpVDZ]}];
TableForm[SetAccuracy[IP$G0W0HFsrLDA,3],TableHeadings->{None, {"Mol.","G0W0@HF+srLDA/cc-pVDZ","G0W0@HF+srLDA/cc-pVTZ","G0W0@HF+srLDA/cc-pVQZ","G0W0@HF+srLDA/cc-pV5Z","G0W0@HF/CBS"}}]
Table[StatIP[IP$G0W0HFsrLDA[[;;,k]],IP$G0W0HFsrLDA[[;;,6]]],{k,2,6}]\[Transpose]//TableForm

IP$G0W0HFsrPBE=Table[{
GW20$G0W0HF$ccpVDZ[[k,1]],
-GW20$G0W0HF$ccpVDZ[[k,2]]-GW20$G0W0HF$ccpVDZ[[k,4]]HaToeV,
-GW20$G0W0HF$ccpVTZ[[k,2]]-GW20$G0W0HF$ccpVTZ[[k,4]]HaToeV,
-GW20$G0W0HF$ccpVQZ[[k,2]]-GW20$G0W0HF$ccpVQZ[[k,4]]HaToeV,
-GW20$G0W0HF$ccpV5Z[[k,2]]-GW20$G0W0HF$ccpV5Z[[k,4]]HaToeV,
IP$G0W0HF$CBS[[k,2]]
},{k,Length[GW20$G0W0HF$ccpVDZ]}];
TableForm[SetAccuracy[IP$G0W0HFsrPBE,3],TableHeadings->{None, {"Mol.","G0W0@HF+srPBE/cc-pVDZ","G0W0@HF+srPBE/cc-pVTZ","G0W0@HF+srPBE/cc-pVQZ","G0W0@HF+srPBE/cc-pV5Z","G0W0@HF+srPBE/CBS"}}]
Table[StatIP[IP$G0W0HFsrPBE[[;;,k]],IP$G0W0HFsrPBE[[;;,6]]],{k,2,6}]\[Transpose]//TableForm

fs=20;
Grid[ArrayReshape[Table[
Show[{
ListPlot[{
Table[{k+1,IP$G0W0HF[[Mol,k+1]]},{k,4}],
Table[{k+1,IP$G0W0HFsrLDA[[Mol,k+1]]},{k,4}],
Table[{k+1,IP$G0W0HFsrPBE[[Mol,k+1]]},{k,4}]
},ImageSize->500,FrameLabel->{MaTeX["\\text{cc-pVXZ}",FontSize->fs],MaTeX["\\text{IP (eV)}",FontSize->fs]},PlotLabel->MaTeX["\\text{G$_0$W$_0$@HF for \\ce{"<>IP$G0W0HF[[Mol,1]]<>"}}",FontSize->fs],PlotStyle->{{Black,Thick},{Red,Thick},{Blue,Thick}},FrameTicks->{{2,3,4,5},Automatic},PlotRange->All,PlotMarkers->{Automatic,Large},Joined->True,BaseStyle->20,PlotTheme->"Scientific",PlotLegends->Placed[{MaTeX["\\text{G$_0$W$_0$@HF}",FontSize->fs],MaTeX["\\text{$G_0$W$_0$@HF+srLDA}",FontSize->fs],MaTeX["\\text{G$_0$W$_0$@HF+srPBE}",FontSize->fs]},{Right,Bottom}]]
,
Plot[IP$G0W0HF$CBS[[Mol,2]],{k,1,6},PlotStyle->{Black,Thick},PlotLegends->Placed[{MaTeX["\\text{G$_0$W$_0$@HF/CBS}",FontSize->fs]},{Right,Bottom}]],
Plot[{-0.043+IP$G0W0HF$CBS[[Mol,2]],0.043+IP$G0W0HF$CBS[[Mol,2]]},{k,1,6},PlotRange->All,Filling->{1->{2}},PlotStyle->{{Green,Thin},{Green,Thin}}]
}]
,{Mol,20}],{5,4}]]
Export["IP_G0W0HF.pdf",%];

(Subscript[G, 0])(Subscript[W, 0])@PBE/cc-pVDZ

GW20$G0W0PBE$ccpVDZ=Import["GW20_G0W0PBE_cc-pVDZ.dat"];
IP$G0W0PBE$ccpVDZ=Table[{
GW20$G0W0PBE$ccpVDZ[[k,1]],
-GW20$G0W0PBE$ccpVDZ[[k,2]],
-GW20$G0W0PBE$ccpVDZ[[k,2]]-GW20$G0W0PBE$ccpVDZ[[k,3]]HaToeV,
-GW20$G0W0PBE$ccpVDZ[[k,2]]-GW20$G0W0PBE$ccpVDZ[[k,4]]HaToeV
},{k,Length[GW20$G0W0PBE$ccpVDZ]}];
TableForm[SetAccuracy[IP$G0W0PBE$ccpVDZ,3],TableHeadings->{None, {"Mol.","G0W0@PBE/cc-pVDZ","G0W0@PBE+srLDA/cc-pVDZ","G0W0@PBE+srPBE/cc-pVDZ"}}]

(Subscript[G, 0])(Subscript[W, 0])@PBE/cc-pVTZ

GW20$G0W0PBE$ccpVTZ=Import["GW20_G0W0PBE_cc-pVTZ.dat"];
IP$G0W0PBE$ccpVTZ=Table[{
GW20$G0W0PBE$ccpVTZ[[k,1]],
-GW20$G0W0PBE$ccpVTZ[[k,2]],
-GW20$G0W0PBE$ccpVTZ[[k,2]]-GW20$G0W0PBE$ccpVTZ[[k,3]]HaToeV,
-GW20$G0W0PBE$ccpVTZ[[k,2]]-GW20$G0W0PBE$ccpVTZ[[k,4]]HaToeV
},{k,Length[GW20$G0W0PBE$ccpVTZ]}];
TableForm[SetAccuracy[IP$G0W0PBE$ccpVTZ,3],TableHeadings->{None, {"Mol.","G0W0@PBE/cc-pVTZ","G0W0@PBE+srLDA/cc-pVTZ","G0W0@PBE+srPBE/cc-pVTZ"}}]

(Subscript[G, 0])(Subscript[W, 0])@PBE/cc-pVQZ

GW20$G0W0PBE$ccpVQZ=Import["GW20_G0W0PBE_cc-pVQZ.dat"];
IP$G0W0PBE$ccpVQZ=Table[{
GW20$G0W0PBE$ccpVQZ[[k,1]],
-GW20$G0W0PBE$ccpVQZ[[k,2]],
-GW20$G0W0PBE$ccpVQZ[[k,2]]-GW20$G0W0PBE$ccpVQZ[[k,3]]HaToeV,
-GW20$G0W0PBE$ccpVQZ[[k,2]]-GW20$G0W0PBE$ccpVQZ[[k,4]]HaToeV
},{k,Length[GW20$G0W0PBE$ccpVQZ]}];
TableForm[SetAccuracy[IP$G0W0PBE$ccpVQZ,3],TableHeadings->{None, {"Mol.","G0W0@PBE/cc-pVQZ","G0W0@PBE+srLDA/cc-pVQZ","G0W0@PBE+srPBE/cc-pVQZ"}}]

(Subscript[G, 0])(Subscript[W, 0])@PBE/cc-pV5Z

GW20$G0W0PBE$ccpV5Z=Import["GW20_G0W0PBE_cc-pV5Z.dat"];
IP$G0W0PBE$ccpV5Z=Table[{
GW20$G0W0PBE$ccpV5Z[[k,1]],
-GW20$G0W0PBE$ccpV5Z[[k,2]],
-GW20$G0W0PBE$ccpV5Z[[k,2]]-GW20$G0W0PBE$ccpV5Z[[k,3]]HaToeV,
-GW20$G0W0PBE$ccpV5Z[[k,2]]-GW20$G0W0PBE$ccpV5Z[[k,4]]HaToeV
},{k,Length[GW20$G0W0PBE$ccpV5Z]}];
TableForm[SetAccuracy[IP$G0W0PBE$ccpV5Z,3],TableHeadings->{None, {"Mol.","G0W0@PBE/cc-pV5Z","G0W0@PBE+srLDA/cc-pV5Z","G0W0@PBE+srPBE/cc-pV5Z"}}]

(Subscript[G, 0])(Subscript[W, 0])@PBE

GW20$G0W0PBE$def2TQZVP=Import["GW20_G0W0PBE_def2TQZVP.dat"];
IP$G0W0PBE=Table[{
GW20$G0W0PBE$ccpVDZ[[k,1]],
-GW20$G0W0PBE$ccpVDZ[[k,2]],
-GW20$G0W0PBE$ccpVTZ[[k,2]],
-GW20$G0W0PBE$ccpVQZ[[k,2]],
-GW20$G0W0PBE$ccpV5Z[[k,2]],
GW20$G0W0PBE$def2TQZVP[[k,2]]
},{k,Length[GW20$G0W0PBE$ccpVDZ]}];
TableForm[SetAccuracy[IP$G0W0PBE,3],TableHeadings->{None, {"Mol.","G0W0@PBE/cc-pVDZ","G0W0@PBE/cc-pVTZ","G0W0@PBE/cc-pVQZ","G0W0@PBE/cc-pV5Z","G0W0@PBE/def2-TQZVP"}}]
Table[StatIP[IP$G0W0PBE[[;;,k]],IP$G0W0PBE[[;;,6]]],{k,2,6}]\[Transpose]//TableForm

GW20$G0W0PBE$def2TQZVP=Import["GW20_G0W0PBE_def2TQZVP.dat"];
IP$G0W0PBEsrLDA=Table[{
GW20$G0W0PBE$ccpVDZ[[k,1]],
-GW20$G0W0PBE$ccpVDZ[[k,2]]-GW20$G0W0PBE$ccpVDZ[[k,3]]HaToeV,
-GW20$G0W0PBE$ccpVTZ[[k,2]]-GW20$G0W0PBE$ccpVTZ[[k,3]]HaToeV,
-GW20$G0W0PBE$ccpVQZ[[k,2]]-GW20$G0W0PBE$ccpVQZ[[k,3]]HaToeV,
-GW20$G0W0PBE$ccpV5Z[[k,2]]-GW20$G0W0PBE$ccpV5Z[[k,3]]HaToeV,
GW20$G0W0PBE$def2TQZVP[[k,2]]
},{k,Length[GW20$G0W0PBE$ccpVDZ]}];
TableForm[SetAccuracy[IP$G0W0PBEsrLDA,3],TableHeadings->{None, {"Mol.","G0W0@PBE+srLDA/cc-pVDZ","G0W0@PBE+srLDA/cc-pVTZ","G0W0@PBE+srLDA/cc-pVQZ","G0W0@PBE+srLDA/cc-pV5Z","G0W0@PBE/def2-TQZVP"}}]
Table[StatIP[IP$G0W0PBEsrLDA[[;;,k]],IP$G0W0PBEsrLDA[[;;,6]]],{k,2,6}]\[Transpose]//TableForm

GW20$G0W0PBE$def2TQZVP=Import["GW20_G0W0PBE_def2TQZVP.dat"];
IP$G0W0PBEsrPBE=Table[{
GW20$G0W0PBE$ccpVDZ[[k,1]],
-GW20$G0W0PBE$ccpVDZ[[k,2]]-GW20$G0W0PBE$ccpVDZ[[k,4]]HaToeV,
-GW20$G0W0PBE$ccpVTZ[[k,2]]-GW20$G0W0PBE$ccpVTZ[[k,4]]HaToeV,
-GW20$G0W0PBE$ccpVQZ[[k,2]]-GW20$G0W0PBE$ccpVQZ[[k,4]]HaToeV,
-GW20$G0W0PBE$ccpV5Z[[k,2]]-GW20$G0W0PBE$ccpV5Z[[k,4]]HaToeV,
GW20$G0W0PBE$def2TQZVP[[k,2]]
},{k,Length[GW20$G0W0PBE$ccpVDZ]}];
TableForm[SetAccuracy[IP$G0W0PBEsrPBE,3],TableHeadings->{None, {"Mol.","G0W0@PBE+srPBE/cc-pVDZ","G0W0@PBE+srPBE/cc-pVTZ","G0W0@PBE+srPBE/cc-pVQZ","G0W0@PBE+srPBE/cc-pV5Z","G0W0@PBE/def2-TQZVP"}}]
Table[StatIP[IP$G0W0PBEsrPBE[[;;,k]],IP$G0W0PBEsrPBE[[;;,6]]],{k,2,6}]\[Transpose]//TableForm

fs=20;
Row[Table[
ListPlot[{
Table[{k+1,IP$G0W0PBE[[Mol,k+1]]},{k,4}],
Table[{k+1,IP$G0W0PBEsrLDA[[Mol,k+1]]},{k,4}],
Table[{k+1,IP$G0W0PBEsrPBE[[Mol,k+1]]},{k,4}]
},ImageSize->500,FrameLabel->{MaTeX["\\text{cc-pVXZ}",FontSize->fs],MaTeX["\\text{IP (eV)}",FontSize->fs]},PlotLabel->"(Subscript[G, 0])(Subscript[W, 0])@PBE for "<>IP$G0W0PBE[[Mol,1]],PlotStyle->Thick,FrameTicks->{{2,3,4,5},Automatic},PlotRange->All,PlotMarkers->{Automatic,Large},Joined->True,BaseStyle->20,PlotTheme->"Scientific",PlotLegends->Placed[{MaTeX["\\text{G$_0$W$_0$@PBE}",FontSize->fs],MaTeX["\\text{G$_0$W$_0$@PBE+srLDA}",FontSize->fs],MaTeX["\\text{G$_0$W$_0$@PBE+srPBE}",FontSize->fs]},{Right,Bottom}]]
,{Mol,20}]]

(Subscript[G, 0])(Subscript[W, 0])@PBE0/cc-pVDZ

GW20$G0W0PBE0$ccpVDZ=Import["GW20_G0W0PBE0_cc-pVDZ.dat"];
IP$G0W0PBE0$ccpVDZ=Table[{
GW20$G0W0PBE0$ccpVDZ[[k,1]],
-GW20$G0W0PBE0$ccpVDZ[[k,2]],
-GW20$G0W0PBE0$ccpVDZ[[k,2]]-GW20$G0W0PBE0$ccpVDZ[[k,3]]HaToeV,
-GW20$G0W0PBE0$ccpVDZ[[k,2]]-GW20$G0W0PBE0$ccpVDZ[[k,4]]HaToeV
},{k,Length[GW20$G0W0PBE0$ccpVDZ]}];
TableForm[SetAccuracy[IP$G0W0PBE0$ccpVDZ,3],TableHeadings->{None, {"Mol.","G0W0@PBE0/cc-pVDZ","G0W0@PBE0+srLDA/cc-pVDZ","G0W0@PBE0+srPBE/cc-pVDZ"}}]

(Subscript[G, 0])(Subscript[W, 0])@PBE0/cc-pVTZ

GW20$G0W0PBE0$ccpVTZ=Import["GW20_G0W0PBE0_cc-pVTZ.dat"];
IP$G0W0PBE0$ccpVTZ=Table[{
GW20$G0W0PBE0$ccpVTZ[[k,1]],
-GW20$G0W0PBE0$ccpVTZ[[k,2]],
-GW20$G0W0PBE0$ccpVTZ[[k,2]]-GW20$G0W0PBE0$ccpVTZ[[k,3]]HaToeV,
-GW20$G0W0PBE0$ccpVTZ[[k,2]]-GW20$G0W0PBE0$ccpVTZ[[k,4]]HaToeV
},{k,Length[GW20$G0W0PBE0$ccpVTZ]}];
TableForm[SetAccuracy[IP$G0W0PBE0$ccpVTZ,3],TableHeadings->{None, {"Mol.","G0W0@PBE0/cc-pVTZ","G0W0@PBE0+srLDA/cc-pVTZ","G0W0@PBE0+srPBE/cc-pVTZ"}}]

(Subscript[G, 0])(Subscript[W, 0])@PBE0/cc-pVQZ

GW20$G0W0PBE0$ccpVQZ=Import["GW20_G0W0PBE0_cc-pVQZ.dat"];
IP$G0W0PBE0$ccpVQZ=Table[{
GW20$G0W0PBE0$ccpVQZ[[k,1]],
-GW20$G0W0PBE0$ccpVQZ[[k,2]],
-GW20$G0W0PBE0$ccpVQZ[[k,2]]-GW20$G0W0PBE0$ccpVQZ[[k,3]]HaToeV,
-GW20$G0W0PBE0$ccpVQZ[[k,2]]-GW20$G0W0PBE0$ccpVQZ[[k,4]]HaToeV
},{k,Length[GW20$G0W0PBE0$ccpVQZ]}];
TableForm[SetAccuracy[IP$G0W0PBE0$ccpVQZ,3],TableHeadings->{None, {"Mol.","G0W0@PBE0/cc-pVQZ","G0W0@PBE0+srLDA/cc-pVQZ","G0W0@PBE0+srPBE/cc-pVQZ"}}]

(Subscript[G, 0])(Subscript[W, 0])@PBE0/cc-pV5Z

GW20$G0W0PBE0$ccpV5Z=Import["GW20_G0W0PBE0_cc-pV5Z.dat"];
IP$G0W0PBE0$ccpV5Z=Table[{
GW20$G0W0PBE0$ccpV5Z[[k,1]],
-GW20$G0W0PBE0$ccpV5Z[[k,2]],
-GW20$G0W0PBE0$ccpV5Z[[k,2]]-GW20$G0W0PBE0$ccpV5Z[[k,3]]HaToeV,
-GW20$G0W0PBE0$ccpV5Z[[k,2]]-GW20$G0W0PBE0$ccpV5Z[[k,4]]HaToeV
},{k,Length[GW20$G0W0PBE0$ccpV5Z]}];
TableForm[SetAccuracy[IP$G0W0PBE0$ccpV5Z,3],TableHeadings->{None, {"Mol.","G0W0@PBE0/cc-pV5Z","G0W0@PBE0+srLDA/cc-pV5Z","G0W0@PBE0+srPBE/cc-pV5Z"}}]

(Subscript[G, 0])(Subscript[W, 0])@PBE0/CBS

IP$G0W0PBE0$CBS=Table[
data=Table[{(1/(((k+1))^3)),IP$G0W0PBE0[[Mol,k+1]]},{k,4}];
{IP$G0W0PBE0[[Mol,1]],SetAccuracy[Fit[Take[data,-3],{1,X},X]/.X->0,3]},
{Mol,20}]

(Subscript[G, 0])(Subscript[W, 0])@PBE0

IP$G0W0PBE0=Table[{
GW20$G0W0PBE0$ccpVDZ[[k,1]],
-GW20$G0W0PBE0$ccpVDZ[[k,2]],
-GW20$G0W0PBE0$ccpVTZ[[k,2]],
-GW20$G0W0PBE0$ccpVQZ[[k,2]],
-GW20$G0W0PBE0$ccpV5Z[[k,2]],
IP$G0W0PBE0$CBS[[k,2]]
},{k,Length[GW20$G0W0PBE0$ccpVDZ]}];
TableForm[SetAccuracy[IP$G0W0PBE0,3],TableHeadings->{None, {"Mol.","G0W0@PBE0/cc-pVDZ","G0W0@PBE0/cc-pVTZ","G0W0@PBE0/cc-pVQZ","G0W0@PBE0/cc-pV5Z","G0W0@PBE0/CBS"}}]
Table[StatIP[IP$G0W0PBE0[[;;,k]],IP$G0W0PBE0[[;;,6]]],{k,2,6}]\[Transpose]//TableForm

IP$G0W0PBE0srLDA=Table[{
GW20$G0W0PBE0$ccpVDZ[[k,1]],
-GW20$G0W0PBE0$ccpVDZ[[k,2]]-GW20$G0W0PBE0$ccpVDZ[[k,3]]HaToeV,
-GW20$G0W0PBE0$ccpVTZ[[k,2]]-GW20$G0W0PBE0$ccpVTZ[[k,3]]HaToeV,
-GW20$G0W0PBE0$ccpVQZ[[k,2]]-GW20$G0W0PBE0$ccpVQZ[[k,3]]HaToeV,
-GW20$G0W0PBE0$ccpV5Z[[k,2]]-GW20$G0W0PBE0$ccpV5Z[[k,3]]HaToeV,
IP$G0W0PBE0$CBS[[k,2]]
},{k,Length[GW20$G0W0PBE0$ccpVDZ]}];
TableForm[SetAccuracy[IP$G0W0PBE0srLDA,3],TableHeadings->{None, {"Mol.","G0W0@PBE0+srLDA/cc-pVDZ","G0W0@PBE0+srLDA/cc-pVTZ","G0W0@PBE0+srLDA/cc-pVQZ","G0W0@PBE0+srLDA/cc-pV5Z","G0W0@PBE0/CBS"}}]
Table[StatIP[IP$G0W0PBE0srLDA[[;;,k]],IP$G0W0PBE0srLDA[[;;,6]]],{k,2,6}]\[Transpose]//TableForm

IP$G0W0PBE0srPBE=Table[{
GW20$G0W0PBE0$ccpVDZ[[k,1]],
-GW20$G0W0PBE0$ccpVDZ[[k,2]]-GW20$G0W0PBE0$ccpVDZ[[k,4]]HaToeV,
-GW20$G0W0PBE0$ccpVTZ[[k,2]]-GW20$G0W0PBE0$ccpVTZ[[k,4]]HaToeV,
-GW20$G0W0PBE0$ccpVQZ[[k,2]]-GW20$G0W0PBE0$ccpVQZ[[k,4]]HaToeV,
-GW20$G0W0PBE0$ccpV5Z[[k,2]]-GW20$G0W0PBE0$ccpV5Z[[k,4]]HaToeV,
IP$G0W0PBE0$CBS[[k,2]]
},{k,Length[GW20$G0W0PBE0$ccpVDZ]}];
TableForm[SetAccuracy[IP$G0W0PBE0srPBE,3],TableHeadings->{None, {"Mol.","G0W0@PBE0+srPBE/cc-pVDZ","G0W0@PBE0+srPBE/cc-pVTZ","G0W0@PBE0+srPBE/cc-pVQZ","G0W0@PBE0+srPBE/cc-pV5Z","G0W0@PBE0/CBS"}}]
Table[StatIP[IP$G0W0PBE0srPBE[[;;,k]],IP$G0W0PBE0srPBE[[;;,6]]],{k,2,6}]\[Transpose]//TableForm

fs=20;
Grid[ArrayReshape[Table[
Show[{
ListPlot[{
Table[{k+1,IP$G0W0PBE0[[Mol,k+1]]},{k,4}],
Table[{k+1,IP$G0W0PBE0srLDA[[Mol,k+1]]},{k,4}],
Table[{k+1,IP$G0W0PBE0srPBE[[Mol,k+1]]},{k,4}]
},ImageSize->500,FrameLabel->{MaTeX["\\text{cc-pVXZ}",FontSize->fs],MaTeX["\\text{IP (eV)}",FontSize->fs]},PlotLabel->MaTeX["\\text{G$_0$W$_0$@PBE0 for \\ce{"<>IP$G0W0PBE0[[Mol,1]]<>"}}",FontSize->fs],PlotStyle->{{Black,Thick},{Red,Thick},{Blue,Thick}},FrameTicks->{{2,3,4,5},Automatic},PlotRange->All,PlotMarkers->{Automatic,Large},Joined->True,BaseStyle->20,PlotTheme->"Scientific",PlotLegends->Placed[{MaTeX["\\text{G$_0$W$_0$@PBE0}",FontSize->fs],MaTeX["\\text{$G_0$W$_0$@PBE0+srLDA}",FontSize->fs],MaTeX["\\text{G$_0$W$_0$@PBE0+srPBE}",FontSize->fs]},{Right,Bottom}]]
,
Plot[IP$G0W0PBE0$CBS[[Mol,2]],{k,1,6},PlotStyle->{Black,Thick},PlotLegends->Placed[{MaTeX["\\text{G$_0$W$_0$@PBE0/CBS}",FontSize->fs]},{Right,Bottom}]],
Plot[{-0.043+IP$G0W0PBE0$CBS[[Mol,2]],0.043+IP$G0W0PBE0$CBS[[Mol,2]]},{k,1,6},PlotRange->All,Filling->{1->{2}},PlotStyle->{{Green,Thin},{Green,Thin}}]
}]
,{Mol,20}],{5,4}]]
Export["IP_G0W0PBE0.pdf",%];

DNA

DNA=Import["DNA.dat","Data"];
IP$DNA=Table[{
DNA[[k,1]],
-DNA[[k,3]],-DNA[[k,3]]-DNA[[k,4]]HaToeV,-DNA[[k,3]]-DNA[[k,5]]HaToeV,
-DNA[[k,6]],-DNA[[k,6]]-DNA[[k,7]]HaToeV,-DNA[[k,6]]-DNA[[k,8]]HaToeV,
-DNA[[k,9]],
-DNA[[k,10]],-DNA[[k,11]],-DNA[[k,12]]
},{k,Length[DNA]}];
TableForm[SetAccuracy[IP$DNA,3],TableHeadings->{None, {"Mol.",
"G0W0@PBE/def2-SVP","G0W0@PBE+srLDA/def2-SVP","G0W0@PBE+srPBE/def2-SVP",
"G0W0@PBE/def2-TZVP","G0W0@PBE+srLDA/def2-TZVP","G0W0@PBE+srPBE/def2-TZVP",
"G0W0@PBE/def2-QZVP","G0W0@PBE/def2-TQZVP","CCSD(T)/def2-TZVPP","Exp."}}]

DNA=Import["DNA.dat","Data"];
ΔIP$DNA=Table[{
DNA[[k,1]],
-DNA[[k,3]]+DNA[[k,10]],-DNA[[k,3]]-DNA[[k,4]]HaToeV+DNA[[k,10]],-DNA[[k,3]]-DNA[[k,5]]HaToeV+DNA[[k,10]],
-DNA[[k,6]]+DNA[[k,10]],-DNA[[k,6]]-DNA[[k,7]]HaToeV+DNA[[k,10]],-DNA[[k,6]]-DNA[[k,8]]HaToeV+DNA[[k,10]],
-DNA[[k,9]]+DNA[[k,10]]
},{k,Length[DNA]}];
TableForm[SetAccuracy[ΔIP$DNA,3],TableHeadings->{None, {"Mol.",
"G0W0@PBE/def2-SVP","G0W0@PBE+srLDA/def2-SVP","G0W0@PBE+srPBE/def2-SVP",
"G0W0@PBE/def2-TZVP","G0W0@PBE+srLDA/def2-TZVP","G0W0@PBE+srPBE/def2-TZVP",
"G0W0@PBE+srPBE/def2-QZVP"}}]

SizeFrameLabel=18;
Options$DNA={
PlotTheme->"Classic",
BarSpacing->{1/5,1},
Joined->True,
Frame->True,
ImageSize->1200,
GridLines->{None,Automatic},
BaseStyle->20,
ImagePadding->{{All,All},{All,All}},
BarSpacing->{0,0},
FrameTicks->{Automatic,Automatic},
(*PlotLabel->MaTeX["\\text{IPs from G$_0$W$_0$@PBE}",FontSize->SizeFrameLabel],*)
ChartLabels->{Placed[{"Adenine","Cytosine","Guanine","Thymine","Uracil"},Top],
Placed[{
Rotate[MaTeX["\\text{def2-SVP}",FontSize->SizeFrameLabel],90 Degree],
Rotate[MaTeX["\\text{def2-SVP+srLDA}",FontSize->SizeFrameLabel],90 Degree],
Rotate[MaTeX["\\text{def2-SVP+srPBE}",FontSize->SizeFrameLabel],90 Degree],
Rotate[MaTeX["\\text{def2-TZVP}",FontSize->SizeFrameLabel],90 Degree],
Rotate[MaTeX["\\text{def2-TZVP+srLDA}",FontSize->SizeFrameLabel],90 Degree],
Rotate[MaTeX["\\text{def2-TZVP+srPBE}",FontSize->SizeFrameLabel],90 Degree],
Rotate[MaTeX["\\text{def2-QZVP}",FontSize->SizeFrameLabel],90 Degree]},Axis]},
FrameLabel->{None,MaTeX["\\text{Error wrt def2-TQZVP (eV)}",FontSize->SizeFrameLabel]},
PlotRange->{Automatic,Automatic},
Epilog->{Inset[ChemicalData["Adenine","MoleculePlot"],Scaled[{0.17,0.4}],Automatic,4],
Inset[ChemicalData["Cytosine","MoleculePlot"],Scaled[{0.36,0.4}],Automatic,3],
Inset[ChemicalData["Guanine","MoleculePlot"],Scaled[{0.55,0.4}],Automatic,4],
Inset[ChemicalData["Thymine","MoleculePlot"],Scaled[{0.75,0.4}],Automatic,4]
,Inset[ChemicalData["Uracil","MoleculePlot"],Scaled[{0.95,0.4}],Automatic,4]},
AspectRatio->1/6
};
BarChart[ΔIP$DNA[[;;,2;;8]],Options$DNA]

ChemicalData["Adenine"]

GW71

def2-SVP basis

GW71=Import["GW71_FCI_def2SVP.dat","Data"];
Mol=Table[CAS2Mol[GW71[[k,1]]],{k,Length[GW71]}];
IPFCI=Table[{Mol[[k,1]],(GW71[[k,3]]-GW71[[k,2]])HaToeV},{k,Length[GW71]}];
IPLDA=Table[{Mol[[k,1]],IPFCI[[k,2]]+(GW71[[k,5]]-GW71[[k,4]])HaToeV},{k,Length[GW71]}];
IPPBE=Table[{Mol[[k,1]],IPFCI[[k,2]]+(GW71[[k,7]]-GW71[[k,6]])HaToeV},{k,Length[GW71]}];
IPPBEot=Table[{Mol[[k,1]],IPFCI[[k,2]]+(GW71[[k,9]]-GW71[[k,8]])HaToeV},{k,Length[GW71]}];
IP=Table[{Mol[[k]],GW71[[k,1]],IPFCI[[k,2]],IPLDA[[k,2]],IPPBE[[k,2]],IPPBEot[[k,2]]},{k,Length[GW71]}];
TableForm[SetAccuracy[IP,3],TableHeadings->{None, {"Molecule","CAS number","FCI","FCI+LDA","FCI+PBE","FCI+PBEot"}}]

def2-TZVP basis

GW71=Import["GW71_FCI_def2TZVP.dat","Data"];
Mol=Table[CAS2Mol[GW71[[k,1]]],{k,Length[GW71]}];
IPFCI=Table[{Mol[[k,1]],(GW71[[k,3]]-GW71[[k,2]])HaToeV},{k,Length[GW71]}];
IPLDA=Table[{Mol[[k,1]],IPFCI[[k,2]]+(GW71[[k,5]]-GW71[[k,4]])HaToeV},{k,Length[GW71]}];
IPPBE=Table[{Mol[[k,1]],IPFCI[[k,2]]+(GW71[[k,7]]-GW71[[k,6]])HaToeV},{k,Length[GW71]}];
IPPBEot=Table[{Mol[[k,1]],IPFCI[[k,2]]+(GW71[[k,9]]-GW71[[k,8]])HaToeV},{k,Length[GW71]}];
IP=Table[{Mol[[k]],GW71[[k,1]],IPFCI[[k,2]],IPLDA[[k,2]],IPPBE[[k,2]],IPPBEot[[k,2]]},{k,Length[GW71]}];
TableForm[SetAccuracy[IP,3],TableHeadings->{None, {"Molecule","CAS number","FCI","FCI+LDA","FCI+PBE","FCI+PBEot"}}]

def2-TZVPP basis

GW71=Import["GW71_FCI_def2TZVPP.dat","Data"];
Mol=Table[CAS2Mol[GW71[[k,1]]],{k,Length[GW71]}];
IPFCI=Table[{Mol[[k,1]],(GW71[[k,3]]-GW71[[k,2]])HaToeV},{k,Length[GW71]}];
IPLDA=Table[{Mol[[k,1]],IPFCI[[k,2]]+(GW71[[k,5]]-GW71[[k,4]])HaToeV},{k,Length[GW71]}];
IPPBE=Table[{Mol[[k,1]],IPFCI[[k,2]]+(GW71[[k,7]]-GW71[[k,6]])HaToeV},{k,Length[GW71]}];
IPPBEot=Table[{Mol[[k,1]],IPFCI[[k,2]]+(GW71[[k,9]]-GW71[[k,8]])HaToeV},{k,Length[GW71]}];
IP=Table[{Mol[[k]],GW71[[k,1]],IPFCI[[k,2]],IPLDA[[k,2]],IPPBE[[k,2]],IPPBEot[[k,2]]},{k,Length[GW71]}];
TableForm[SetAccuracy[IP,3],TableHeadings->{None, {"Molecule","CAS number","FCI","FCI+LDA","FCI+PBE","FCI+PBEot"}}]

GW100

GW100=Import["GW100.dat","Data"];
CAS2Mol=Association[Table[<|GW100[[k,1]]->GW100[[k,2]]|>,{k,Length[GW100]}]];

def2-TZVPP basis

CCSD(T)

GW100=Import["GW100_CCSDT_def2TZVPP.dat","Data"];
Mol=Table[CAS2Mol[GW100[[k,1]]],{k,Length[GW100]}];
IP=Table[{Mol[[k]],GW100[[k,1]],GW100[[k,2]]},{k,Length[GW100]}];
TableForm[SetAccuracy[IP,3],TableHeadings->{None, {"Molecule","CAS number","CCSD(T)/def2-TZVPP"}}]