Skip to content

Commit

Permalink
add a non-optimal arbitrary order MP calculation
Browse files Browse the repository at this point in the history
  • Loading branch information
tjira committed Jul 26, 2024
1 parent adfb3f4 commit adcc3b2
Show file tree
Hide file tree
Showing 11 changed files with 28,331 additions and 28,236 deletions.
8 changes: 5 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,9 @@ cmake_minimum_required(VERSION 3.16)
# project name
project(Acorn)

# include the fetch plugin
include(FetchContent)

# set the c++ standard
set(CMAKE_CXX_STANDARD 20)

Expand All @@ -21,6 +24,7 @@ set(CMAKE_WARN_DEPRECATED OFF CACHE BOOL "" FORCE)
# set the library build variables
set(BUILD_SHARED_LIBS OFF)
set(EIGEN_TEST_NOQT ON)
set(BUILD_TESTING OFF)
set(BUILD_TESTS OFF)

# set the base compiler flags
Expand All @@ -33,8 +37,6 @@ if (STATIC)
endif()

if (WIN32)
# include the fetch plugin
include(FetchContent)

# set additional compiler flags for windows
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Wa,-mbig-obj")
Expand Down Expand Up @@ -68,7 +70,7 @@ else()
endif()

# include directories
include_directories(include lib)
include_directories(example/diagram include lib)

# find the necessary packages
find_package(Eigen3 REQUIRED)
Expand Down
2 changes: 1 addition & 1 deletion education/python/resmet.py
Original file line number Diff line number Diff line change
Expand Up @@ -142,7 +142,7 @@ def slices(n, contr):
epsvec = [[(-epsms[v] if char in "abcdefgh" else epsms[o]) for char in contr.split(",")[i]] for i in range(n, 2 * n - 1)]
return views + [1 / sum([v[i].reshape(-1, *[1 for _ in range(len(v) - i - 1)]) for i in range(len(v))]) for v in epsvec]
for i in range(4, args.mpn + 1):
exprs = [(x.split(";")[0], eval(x.split(";")[1]))for x in open(f"../../example/diagram/mbpt{i}.txt").readlines()]
exprs = [(x.split(";")[0].replace("-", ","), eval(x.split(";")[1])) for x in open(f"../../example/diagram/mbpt{i}.txt").readlines()[1:-1]]
E_MPN.append(sum([contr[1] * np.einsum(contr[0], *slices(i, contr[0]), optimize=True) for contr in exprs]))
print("MP{} ENERGY: {:.8f}".format(i, E_HF + E_MP2 + E_MP3 + sum(E_MPN) + VNN))

Expand Down
4 changes: 3 additions & 1 deletion example/diagram/mbpt2.txt
Original file line number Diff line number Diff line change
@@ -1 +1,3 @@
abij,ijab,abij;0.25
TOSTRING(
abij-ijab-abij;0.25
)
8 changes: 5 additions & 3 deletions example/diagram/mbpt3.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
abij,ijkl,klab,abij,abkl;0.125
abij,icak,jkbc,abij,bcjk;1.0
abij,cdab,ijcd,abij,cdij;0.125
TOSTRING(
abij-ijkl-klab-abij-abkl;0.125
abij-icak-jkbc-abij-bcjk;1.0
abij-cdab-ijcd-abij-cdij;0.125
)
80 changes: 41 additions & 39 deletions example/diagram/mbpt4.txt
Original file line number Diff line number Diff line change
@@ -1,39 +1,41 @@
abij,ijak,kclm,lmbc,abij,bk,bclm;0.25
abij,ijak,cdbl,klcd,abij,bk,cdkl;-0.25
abij,icab,jdkl,klcd,abij,cj,cdkl;-0.25
abij,icab,deck,jkde,abij,cj,dejk;0.25
abij,ijkl,klmn,mnab,abij,abkl,abmn;0.0625
abij,ijkl,kcam,lmbc,abij,abkl,bclm;0.5
abij,ijkl,cdab,klcd,abij,abkl,cdkl;0.0625
abij,icak,jklm,lmbc,abij,bcjk,bclm;0.5
abik,icaj,jdcl,klbd,abik,cbjk,bdkl;1.0
abij,icak,jdcl,klbd,abij,cbjk,bdkl;-1.0
abik,icaj,jdbl,klcd,abik,bcjk,cdkl;-1.0
abij,icak,jdbl,klcd,abij,bcjk,cdkl;1.0
abij,icak,debc,jkde,abij,bcjk,dejk;0.5
abij,cdab,ijkl,klcd,abij,cdij,cdkl;0.0625
abij,cdab,ieck,jkde,abij,cdij,dejk;0.5
abij,cdab,efcd,ijef,abij,cdij,efij;0.0625
abil,icjk,jkcm,lmab,abil,cabjkl,ablm;0.25
abij,ickl,jkcm,lmab,abij,cabjkl,ablm;0.5
abil,icjk,jkam,lmbc,abil,abcjkl,bclm;0.5
abij,ickl,jkam,lmbc,abij,abcjkl,bclm;1.0
abik,icjl,jdac,klbd,abik,acbjkl,bdkl;-1.0
abij,ickl,jdac,klbd,abij,acbjkl,bdkl;0.5
abik,icjl,jdab,klcd,abik,abcjkl,cdkl;0.5
abij,ickl,jdab,klcd,abij,abcjkl,cdkl;-0.25
abik,cdaj,ijcl,klbd,abik,cbdijk,bdkl;-1.0
abij,cdak,ijcl,klbd,abij,cbdijk,bdkl;0.5
abjk,cdai,iecd,jkbe,abjk,cdbijk,bejk;0.25
abij,cdak,iecd,jkbe,abij,cdbijk,bejk;0.5
abik,cdaj,ijbl,klcd,abik,bcdijk,cdkl;0.5
abij,cdak,ijbl,klcd,abij,bcdijk,cdkl;-0.25
abjk,cdai,iebc,jkde,abjk,bcdijk,dejk;0.5
abij,cdak,iebc,jkde,abij,bcdijk,dejk;1.0
abik,cdjl,ijcd,klab,abik,cdabijkl,abkl;-0.25
abij,cdkl,ijcd,klab,abij,cdabijkl,abkl;0.0625
abkl,cdij,ijac,klbd,abkl,acbdijkl,bdkl;-0.25
abik,cdjl,ijac,klbd,abik,acbdijkl,bdkl;1.0
abij,cdkl,ijac,klbd,abij,acbdijkl,bdkl;-0.25
abkl,cdij,ijab,klcd,abkl,abcdijkl,cdkl;0.0625
abik,cdjl,ijab,klcd,abik,abcdijkl,cdkl;-0.25
TOSTRING(
abij-ijak-kclm-lmbc-abij-bk-bclm;0.25
abij-ijak-cdbl-klcd-abij-bk-cdkl;-0.25
abij-icab-jdkl-klcd-abij-cj-cdkl;-0.25
abij-icab-deck-jkde-abij-cj-dejk;0.25
abij-ijkl-klmn-mnab-abij-abkl-abmn;0.0625
abij-ijkl-kcam-lmbc-abij-abkl-bclm;0.5
abij-ijkl-cdab-klcd-abij-abkl-cdkl;0.0625
abij-icak-jklm-lmbc-abij-bcjk-bclm;0.5
abik-icaj-jdcl-klbd-abik-cbjk-bdkl;1.0
abij-icak-jdcl-klbd-abij-cbjk-bdkl;-1.0
abik-icaj-jdbl-klcd-abik-bcjk-cdkl;-1.0
abij-icak-jdbl-klcd-abij-bcjk-cdkl;1.0
abij-icak-debc-jkde-abij-bcjk-dejk;0.5
abij-cdab-ijkl-klcd-abij-cdij-cdkl;0.0625
abij-cdab-ieck-jkde-abij-cdij-dejk;0.5
abij-cdab-efcd-ijef-abij-cdij-efij;0.0625
abil-icjk-jkcm-lmab-abil-cabjkl-ablm;0.25
abij-ickl-jkcm-lmab-abij-cabjkl-ablm;0.5
abil-icjk-jkam-lmbc-abil-abcjkl-bclm;0.5
abij-ickl-jkam-lmbc-abij-abcjkl-bclm;1.0
abik-icjl-jdac-klbd-abik-acbjkl-bdkl;-1.0
abij-ickl-jdac-klbd-abij-acbjkl-bdkl;0.5
abik-icjl-jdab-klcd-abik-abcjkl-cdkl;0.5
abij-ickl-jdab-klcd-abij-abcjkl-cdkl;-0.25
abik-cdaj-ijcl-klbd-abik-cbdijk-bdkl;-1.0
abij-cdak-ijcl-klbd-abij-cbdijk-bdkl;0.5
abjk-cdai-iecd-jkbe-abjk-cdbijk-bejk;0.25
abij-cdak-iecd-jkbe-abij-cdbijk-bejk;0.5
abik-cdaj-ijbl-klcd-abik-bcdijk-cdkl;0.5
abij-cdak-ijbl-klcd-abij-bcdijk-cdkl;-0.25
abjk-cdai-iebc-jkde-abjk-bcdijk-dejk;0.5
abij-cdak-iebc-jkde-abij-bcdijk-dejk;1.0
abik-cdjl-ijcd-klab-abik-cdabijkl-abkl;-0.25
abij-cdkl-ijcd-klab-abij-cdabijkl-abkl;0.0625
abkl-cdij-ijac-klbd-abkl-acbdijkl-bdkl;-0.25
abik-cdjl-ijac-klbd-abik-acbdijkl-bdkl;1.0
abij-cdkl-ijac-klbd-abij-acbdijkl-bdkl;-0.25
abkl-cdij-ijab-klcd-abkl-abcdijkl-cdkl;0.0625
abik-cdjl-ijab-klcd-abik-abcdijkl-cdkl;-0.25
)
Loading

0 comments on commit adcc3b2

Please sign in to comment.